实验2 用机器指令和汇编指令编程
(1)使用Debug,将下面的程序段写入内存,逐条执行,根据指令执行后的实际运行情况填空。MOV AX,FFFFH
MOV DS,AX
MOV AX,2200H
MOV SS,AX
MOV SP,0100H
MOV AX, ;AX= C0EAH
ADD AX, ;AX= C0FCH
MOV BX, ;BX= 30F0H
ADD BX, ;BX= 6021H
PUSH AX ;SP= 00FEH ;修改的内存单元的地址是 2200:FE 内容为 C0FCH
PUSH BX ;SP= 00FCH ;修改的内存单元的地址是 2200:FC 内容为 6021H
POP AX ;SP= 00FEH ;AX= 6021H
POP BX ;SP= 0100H ;BX= C0FCH
PUSH ;SP= 00FEH ;修改的内存单元的地址是 2200:FE 内容为 30F0H
PUSH ;SP= 00FCH ;修改的内存单元的地址是 2200:FC 内容为 2F31H
(2)仔细观察下图中的实验过程,然后分析:为什么2000:0~2000:F中的内容会发生改变?
答:在debug使用T等指令引发了中断造成的,中断过程使用当前栈空间存放cpu关键数据,所以,你的栈里就有些不是你操作的数据了。
页:
[1]