实验任务一:
用 a 命令输入指令调试前,使用 e 命令将内存单元 0021:0 ~0021:7 连续 8 个字节数据修改为 30H, 31H, 32H, 33H,34H,35H,36H,37H
用a命令输入指令
用t命令分布执行,并记录实验数据
由实验可知数据为:
mov ax,[0]; ax=3130H
mov ax,[2]; ax=6462H
mov bx,[4]; bx=3534H
add bx,[6]; bx=6c6aH
push ax; sp=00feH;修改的内存单元的地址是2200:FE,内容为6462H
push bx; sp=00FCH;修改的内存单元的地址是2200:FC,内容为6c6aH
pop ax; sp=00FEH;ax= 6c6aH
pop bx; sp=0100H;bx=6462H
push [4]; sp=00FEH;修改的内存单元的地址是2200:FE,内容为3534H
push [6]; sp=00FCH;修改的内存单元的地址是2200:FC,内容为36H
实验二:
结论:
debug中使用t命令等引发了中断,中断过程使用了当前栈空间存储的cpu关键数据,所以出现了差异。
总结:
本次实验大致了解了栈的特点,也加强了对汇编指令的熟悉程度。
原文地址:https://www.cnblogs.com/jgxdbk/p/9849089.html
时间: 2024-10-14 23:12:26