4、实验四
1、编程传送数据到内存
编写代码
编译连接
debug调试
调试几次循环发现没有错误,可以直接在 loop 指令处使用 p 指令,跳过剩余的循环
执行结束后查看一下内存,是否正确写入
2、使用9条指令完成题目一
第一题即符合要求。
3、补全代码,上机调试
ds存放将要复制的数据(代码)的段地址,es存放复制到的目的地址的段地址。所以ds应该赋值为cs(代码段)。至于循环次数cx,需要根据将要复制的代码占用多少字节来确定,未知,暂时使用0代替。
mov 寄存器,立即数 占用3B
mov 寄存器,寄存器 占用2B
inc 占用1B
loop 占用2B
编译连接
然后使用debug调试,从寄存器 CX 中可以看出,代码段一共有 1CH(28)个字节。其中通过 u 命令可以看出,mov ax,4c00 前有17H(23)个字节。
所以 mov cx,___应该填写17h。修改源代码之后重新编译连接,debug调试跟踪执行。跟踪执行后,查看内存中是否复制成功。
与上一张图片比对,可见成功将代码复制到 0020:0-0020:17,对应机器码为 8CC8-E2F8。