王爽汇编语言第二版实验4(整理)

本文介绍了一个汇编程序的补全与调试过程,旨在将特定指令前的内容复制到内存指定位置。通过逐步解析与实践操作,明确了复制的具体内容及其长度,并提供了调试技巧。

 下面的程序的功能是将“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)复制的是什么?有多少个字节?你如何知道要复制的字节的数量?

具体方法:

1.先在第二个空那随便填一个数字,不要太大了
2.将程序编译链接,用Debug打开程序,U 一下,查找 mov ax,4C00H 的地址,这下你就知道那段需要被复制的代码实际有多长了吧?
3.将真正的长度填入第二个空

我想是因为大家写的程序不一样,所以才有的是17H有的是18H。
不同之处在这里
mov ax,cs 

mov ax,code
第一个是2字节的,第二个是3字节的,你自己试试看。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值