任务一
使用e命令修改0021:0至0021:f数据,修改为30H,31H,32H,33H,34H,35H,36H,37H。修改后的代码要正确写入
mov ax,0021
mov ds,ax
mov ax,2200
mox ss,ax
mov sp,0100
mov ax,[0];ax=3130H
add ax,[2];ax=6462H
mov bx,[4];bx=3534H
add bx,[6];bx=6C6AH
push ax;sp=00FEH,修改的内存单元地址是2200:00FE,内容为6462H
push bx;sp=00FCH,修改的内存单元地址是2200:00FC,内容为6C6AH
任务二
截图记录使用a命令输入的7行指令,使用e命令修改2000:0至200:f的值,及修改后查看的部分。每一步指令单步调试,使用d命令查看。
观察寄存器中值的变化,思考原因。
实验结论:
mov ax,2000 ;
2000H被存入寄存器中
mov ss,ax ;
2000H被存入栈段寄存器中
mov sp,10 ;
前3行汇编指令的功能是表示初始化栈顶,
栈顶为2000;0010
栈底为2000;000E
实验总结与体会:
第二次实验打错的次数少了很多,实验室探索的过程,很多结果显示的可能和预期有所出入,或者不理解为何有这样的结果显示。
需要深入了解各种命令的使用方式
在本次实验中接触了中断机制,这会使得栈中数据的操作会发生变化。