qvq123 发表于 2019-12-6 18:34:45

实验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]
查看完整版本: 实验2 用机器指令和汇编指令编程