第五章实验四第三题
来源:互联网 发布:机器人模拟软件 编辑:程序博客网 时间:2024/06/05 06:20
题目:下面的程序功能是将“mov ax,4c00h"之前的指令复制到内存0:200处,补全程序。上机调试,跟踪运行结果
代码:
1分析:这里要复制的是从3~10行的汇编指令。可以肯定的是(1)处填写cs或者codesg都行,因为cs指向了程序指令的开始处。其次我们知道这段程序的代码长度在cx中存放(用debug来调试时)。所以我们可以先在(2)处填上cx,即先让程序能编译链接生成对应的target.exe文件,然后用debug target.exe来对其调试(当然我们并不是真的调试,而是为了查看cx的值是多少),然后输入r后查看cx的值,如果不知道mov ax,4c00h 和int 21h占了多少字节,都可以通过输入u后就可以看到各条命令占了多少字节。获得了总长度之后,再用其减去mov ax,4c00h 和int 21h占用的字节,所得的结果就是(2)出所应该填写的值了。
2.在(1)和(2)出分别填上cs和cx,编译链接之后用debug来调试。
i:代码看起来是这样的:
ii:debug的数据如下:
从以上数据可以得出cx=001bh,而mov ax,4c00h 和int 21h占了5字节,所以可以得知(2)处应该填写001b-0005的值,及0017h。
3.用cs填充(1)处,0017h填充(2)处。代码看起来是这样。
4.调试过程
5.小结:这里关键的是就是确定复制时的开始地址和结束地址,
- 第五章实验四第三题
- 第五章实验四的第一题
- 第三章第五题
- 第三章第五题
- 第三章第五题
- 第五章第三题
- 第五章实验4第三小题答案(还是有点不懂啊)
- 第五周实验(四)
- 第五章实验题2
- 第三章实验题
- 第三周实验报告(四)
- 第四章实验第三题
- 第五周实验报告(四)
- 第五周实验报告(四)
- 第五周实验报告 任务四
- 补做-第五次实验-项目四
- 第五章实验作业
- 《学习OpenCV》练习题第三章第五题
- 通过租用ISP的帧中继交换网络,连接四个网络
- 成功离我有多远
- 人的一生终将要错过一些人
- 人生的坐标该如何画上句点
- MTK 项目在new的时候老是报plmncreate.exe错误的解决办法
- 第五章实验四第三题
- 网络字节序与主机字节序
- 解决没有找到ComRes.dll下载的问题
- 教你用批处理进行字符串处理
- oracle 查看用户权限
- OSG2.8.1,vs2005配置
- 电驴(easyMule)自动关机工具
- 谈编程语言
- oracle权限全集