ASSEMBLY LANGUAGE Write assembly code segments for the following: 1) if (x > 17)
ID: 3811108 • Letter: A
Question
ASSEMBLY LANGUAGE
Write assembly code segments for the following:
1) if (x > 17)
y=12;
else
y=0;
2) if (x <= y)
z= 25;
else
z=50;
3) if (x==4) and (y>0)
z=10;
else
z=5;
4) if (x==4) or (y>0)
z=10;
else
z=5;
Part II.
5) What is the output of the following assembly code segment? How would the code be written in a higher-level language?
mov x, 25
mov y, 3
mov ax, x
cmp ax, y
je One
cmp y, 0
jnl Two
jmp Next
One: imul y
jmp Next
Two: mov Num, 10
imul Num
Next: call PutDec
6) What is the output of the following assembly code segment? How would the code be written in a higher-level language?
mov x, 5
mov y, 5
mov ax, x
cmp ax, y
je One
cmp y, 0
jnl Two
jmp Next
One: imul y
jmp Next
Two: mov Num, 10
imul Num
Next: call PutDec
Explanation / Answer
1)
Suppose a is in register BL, b is in register CL.
And y is in register DL.
CMP BL, CL
JG greaterThan
MOV DL, 0
JMP Down
greaterThan:MOV DL, 12
Down:
2)
Suppose x is in register BL, y is in register CL.
And z is in register DL.
CMP BL, CL
JLE lessThan
MOV DL, 50
JMP Down
lessThan: MOV DL, 25
Down:
3)
Suppose x is in register BL, y is in register CL.
And z is in register DL.
CMP BL, 4
JNE next
CMP CL, 0
JL next
MOV DL, 10
JMP Down
next: MOV DL, 5
Down:
4)
Suppose x is in register BL, y is in register CL.
And z is in register DL.
CMP BL, 4
JE next
CMP CL, 0
JL elsePart
next: MOV DL, 10
JMP Down
elsePart: MOV DL, 5
Down:
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.