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
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.