王爽汇编语言第二版实验四
下面的程序的功能是将“movax,4c00h”之前的指令复制到内存0:200处,补全程序。上机调试,跟踪运行结果。assumecs:codecodesegmentmova...
下面的程序的功能是将“mov ax, 4c00h”之前的指令复制到内存0:200处,补全程序。上机调试,跟踪运行结果。 assume cs:code code segment mov ax,--? mov ds,ax mov ax,0020h mov es,ax mov bx,0 mov cx,--? s:mov al,[bx] mov es:[bx],al inc bx loop s mov ax,4c00h int 21h code ends end 提示: (1)复制的是什么?从哪里到哪里? (2)复制的是什么?有多少个字节?你如何知道要复制的字节的数量? 第一个空,没有疑问。填cs。即把代码段内的指令当作数据,复制到目的地址。源数据段与ds与代码段cs想同。 第二空答案是18h。这里就有些不明白了。上面说先给cx一个小值。编译链接后用debug看cx中的值。然后再减去5h。那么我的问题是,cx会自动存程序长度吗?是只有这个程序里面是这样还是其他的程序都这样。而且答案说会看到cx为1D,但是我r查看cx为1c。求高手解答。
展开
展开全部
我做这个程序的时候是手动计算需要复制的代码的长度的,具体方法是: 1.先在第二个空那随便填一个数字,不要太大了 2.将程序编译链接,用Debug打开程序,U 一下,查找 mov ax,4C00H 的地址,这下你就知道那段需要被复制的代码实际有多长了吧? 3.将真正的长度填入第二个空 实际有简单的方法确定那段代码的长度,不过作者考虑到知识屏蔽,所以在第四章没说,你学到后面就知道了 忘了说了,你学这本书,去这个网站看看 www.asmedu.net 我想是因为大家写的程序不一样,所以才有的是17H有的是18H。 不同之处在这里 mov ax,cs 和 mov ax,code 第一个是2字节的,第二个是3字节的,你自己试试看
华芯测试
2024-09-01 广告
2024-09-01 广告
电学测试台是深圳市华芯测试科技有限公司的核心设备之一,它集成了高精度测量仪器与自动化控制系统,专为半导体芯片、电子元件及模块的电性能检测而设计。该测试台能够迅速、准确地完成电压、电流、电阻、电容及频率等关键参数的测试,确保产品质量符合行业标...
点击进入详情页
本回答由华芯测试提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询