码迷,mamicode.com
首页 > 其他好文 > 详细

实验二

时间:2018-10-25 14:23:21      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:汇编   deb   str   下一步   image   bug   偏移地址   修改   改变   

实验二

1.使用Debug,将下面的程序段写入内存,逐条执行,根据指令执行之后的实际运行情况填空。

(1)使用e命令修改0021:0~0021:f的数据

技术分享图片(2)使用a命令输入p74的指令,其中的 mov ax, ffff → 改为 mov ax, 0021

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

运行结果如下

技术分享图片

2.仔细观察图中实验,然后分析:为什么2000:0~2000:f中的内容会发生改变

技术分享图片

 

 技术分享图片

技术分享图片

技术分享图片

技术分享图片

前三行汇编指令的功能是用ax设置栈段地址设为SS=2000H,和栈顶的偏移地址SP=0010H

mov sp,10即是初始化栈顶。栈顶2000:0010,栈底2000:000F,此栈为空栈。

总结

本次实验学习了mov,add,sub等指令的使用。mov指令改变寄存器或内存中的内容、add指令加和内存或寄存器中的内容。

以及对t指令的新认识。一般情况下,用t命令执行一条指令后,会停止继续执行,显示出当前CPU各个寄存器的状态和下一步要执行的指令,但t命令执行mov ss,ax的时候,不会做到这一点。所以Debug的t命令在执行修改寄存器ss的指令时,下一条指令也紧接着被执行。

对栈有了初步的认识。对它先进先出的特征有了一定的了解。

实验二

标签:汇编   deb   str   下一步   image   bug   偏移地址   修改   改变   

原文地址:https://www.cnblogs.com/cmhwy/p/9849045.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!