实验二 用机器指令和汇编指令编程

任务一

使用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

 

 实验总结与体会:

第二次实验打错的次数少了很多,实验室探索的过程,很多结果显示的可能和预期有所出入,或者不理解为何有这样的结果显示。

需要深入了解各种命令的使用方式

在本次实验中接触了中断机制,这会使得栈中数据的操作会发生变化。

 

posted on 2018-11-01 21:14  日央  阅读(156)  评论(3编辑  收藏  举报