2,实验任务:
我的初始值:
1) 使用 Debug, 将下面的程序写入内存,组条执行,根据指令执行后的实际情况填空。
Mov ax,ffff
Mov ds,ax
Mov ax,2200
Mov ss,ax
Mov sp,0100
Mov ax,[0] ; ax=5BEA
Add ax,[2] ; ax=5BEA+00E0=5CCA
Mov bx[4] ; bx=30F0
Add bx,[6] ; bx=30F0+2F37=6027
Push ax ; sp=0100-2=00FE 修改的内存单元地址:2200:00FE 00FF 内容为: CA 5C
Push bx ; sp=00FE-2=00FC 修改的内存单元地址:2200:00FC 00FD 内容为: 27 60
Pop ax ;sp=00FE ,ax=6027
Pop bx ;sp=0010 ,bx=5CCA
Push [4] ; sp=0010-2=00FE 修改的内存单元地址:2200:00FE 00FF 内容为:F0 30
Push [6] ; sp=00FE-2=00FC 修改的内存单元地址:2200:00FC 00FD 内容为:37 2F
2) 仔细观察图3.19 中的实验过程:然后分析:为什么 2000:0~2000:F 中的内容会发生变化?
若菜还未理解Orz。。。。好像和每次的命令的机器码有关的样子。