Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

X86 Assembly Write an assembly program to test if the MSB in the register al is

ID: 3818433 • Letter: X

Question

X86 Assembly

Write an assembly program to test if the MSB in the register al is set:

If it is set, then divide the content of al by 4 using the appropriate shift instruction and exit.

Else, if it is not set, then multiply the content of al by 8 using the appropriate shift instruction and exit.

When checking al MSB, do not change al content.

Assume that al is equal to the signed integer 18h.

You need to come up with the appropriate mask to check the MSB.

Run your program using the debugger to verify your answers.

Explanation / Answer

LOAD n,R1;

LOAD #1,R2;

T1:CMP R1,R2

JE MUL4
JB INCR2
JG ANDY

MUL4:MUL R1,4

JMP ANS

INCR2:MUL R2,2

JMP T1

ANDY:AND R1,R2

JE MUL4
MUL R1,8

ANS:MOV R1,ACL