Look at the logic program below. Set a breakpoint after each commented instruction. You can also single step through the program. Answer the questions in the program.

.data

sourceword:
.word 0xAB
wordmask:
.word 0xCF
operand:
.long 0xAA

.text

.globl _start

_start:
movw sourceword, %ax
movw %ax, %bx
xorw %cx, %cx
# What's in ax?
# What's in bx?
# What's in cx?

andw wordmask, %ax
# What's in ax?
orw wordmask, %bx
# What's in bx?
xorw wordmask, %cx
# What's in cx?

movl operand, %eax
movl %eax, %ebx
movl %eax, %ecx
# What's in eax?
# What's in ebx?
# What's in ecx?

shll $3,%eax
# What's in eax?

rorl $4,%ebx
# What's in ebx?

sarl %ecx
# Now what's in ecx?

done:

Respuesta :

Using programming knowledge, it is possible to use programming logic, we can differentiate and find the terms

Writing the code and understanding the programming logic:

.data

sourceword:

.word 0xAB

wordmask:

.word 0xCF

operand:

.long 0xAA

.text

.globl _start

_start:

movw sourceword, %ax # ax=0x00AB ( move the word value of sourceword =0x00AB to ax register.)

movw %ax, %bx # bx=0x00AB ( copy the value of ax to bx register.)

xorw %cx, %cx # cx=0000 ( cx=cx XOR cx, that is clear cx register.)

andw wordmask, %ax # ax=0x008B ( ax=ax AND wordmask= 0x00AB AND 0x00CF= 0x008B)

orw wordmask, %bx # bx=0x00EF (bx=bx OR wordmask= 0x00AB OR 0x00CF= 0x00EF.)

xorw wordmask, %cx # cx=0x00CF (cx=cx XOR wordmask= 0x0000 XOR 0x00CF=0x00CF.)

movl operand, %eax # eax=0x000000AA. ( copy the 32-bit value of operand=0x000000AA to eax.)

movl %eax, %ebx # ebx=0x000000AA.( copy the value of eax to ebx.)

movl %eax, %ecx # ecx=0x000000AA. ( copy the value of eax to ecx.)

shll $3,%eax # eax=0x00000550. ( logical shift left of eax=0x000000AA by 3 bits.)

# 0x000000AA=00000000000000000000000010101010

# =>00000000000000000000010101010000=0x00000550.

rorl $4,%ebx # ebx=0xA000000A. (Rotate right ebx=0x000000AA by 4 bits.)

# 0x000000AA=00000000000000000000000010101010

3 =>10100000000000000000000000001010= 0xA000000A.

sarl %ecx # here the count value to shift the bits not mentioned.

# It is the arithmetic shift right instruction. the shifted left bits filled with MSB bit.

See more about logic program at brainly.com/question/14970713

#SPJ1

Ver imagen lhmarianateixeira