- In the following code sequence, show the value of AL after each shift or rotate instruction has executed. Credit will NOT be given for answers that do not show work.
mov al, 32h
rol al, 3 ; A: al =
mov al, D2h
ror al, 1 ; B: al =
mov al, 3Bh
rcl al, 2 ; C: al =
mov al, 17h
rcr al, 1 ; D: al =
- Write instructions that calculate EAX*23 using binary multiplication.
- The time stamp of a file uses bits 0-2 for hours, bits 3-7 for days, bits 8-11 for months, and bits 12-15 for years. Write instructions that extract the months and copy the value to a byte variable named “months”.
- What will be the contents of AX and DX after the following operation?
mov dx, 0
mov ax, 3456h
mov cx, 2300h
- Implement the following expression in assembly language, using 32-bit unsigned operands:
Alpha = (Alpha + Beta) * (Gamma – Delta) / Iota
- What will be the values of DX:AX after the following instructions execute? What might be the use of such a sequence of instructions in a 16-bit computer?
mov ax, 1h
mov dx, 0h
sub ax, 1h
sbb dx, 0
- Write a program that adds two operands using extended addition. See textbook pg 257.
Use the following:
Blue BYTE 12h, 14h, 34h, 23h, 65h. 78h, 56h, 99h, 20h, 05h
Yellow BYTE 41h, 25h, 23h, 45h, 12h, BCh, CDh, F1h, 10h, 09h
Green BYTE 10 dup(0)
Display the contents of the array Green.