|
|
检测点8.1
1.以下指令执行后,寄存器AX中的内容是多少?
mov ax, 0xfff0
and [data], ax
or ax, [data]
data db 0x55, 0xaa
答:以字数据访问data处,得到的是0xaa55。先用0xfff0和0xaa55与操作,结果是0xaa50且位于data处。接着用0xfff0与0xaa50或操作,结果是0xfff0且位于AX中。
2.下面的说法中哪些是正确的?
A.8086处理器执行压栈操作时,是先将SP的内容减2,再访问栈段。
B.8086处理器执行出栈操作时,是先将SP的内容加2,再访问栈段。
C.如果SP的内容为0xFFFC,则执行push ax后,SP的内容变为0xFFFA。
答:A,C
3.在空白处补充指令或指令的操作数,使得程序可以把栈段当成数据段访问,并在寄存器DX中得到AX的压栈值。
push ds ;保护本次操作之前的DS
push bx ;保护本次操作之前的BX
push ax
mov bx,____ ;mov bx,ss
______,bx ;mov ds,bx
mov bx,sp
___________ ;mov dx,[bx]
pop ax
pop bx ;恢复本次操作之前的BX
pop ds ;恢复本次操作之前的DS
|
|