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

任务一

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

 

 实验总结与体会:

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

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

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

 

转载于:https://www.cnblogs.com/luyingzhu/p/9892575.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值