汇编语言王爽 实验第五章

本文详细记录了使用汇编语言进行内存数据传输和代码复制的实验过程。在数据传输中,纠正了编程错误并讨论了字节型数据的处理。在代码复制部分,解释了如何确定代码起始地址、字节数,并通过调试工具观察执行结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(1)编程,向内存0:200~0:23f依次传送数据0~63(3FH)

首次编程代码如下

发现错误如下

 

分析:首先此传递的为字节型数据

错误一:line 10 mov ds:[bx],bx -> mov ds:[bx],bl

错误二: 拼写错误 分别是 assume 与 第十三行的move

修改后 ok了

p指令,可以直接执行完循环程序

其中数字部分 无论是用0 64 还是 0 40H 经过实验都可以使用

2.下面的程序的功能是 将“mov ax,4c00H"之前的指令复制到内存0:200初,不全程序。上机调试,跟踪运行结果

关键点在于1. 一整个代码的起始地址在cs

2. 到底有多少个字节

可以用u cs:0查看 看起每个汇编语言代码前面有多少个字节 手数 然后执行

用d指令查看内存

用u es:0 查看其复制过来的汇编代码

一个一个字节数太麻烦

IP=IP+所读指令的字节数 

假设此时又23个字节   直接用u指令查看其汇编代码  注意0017H-0000H=23  直接减就好

另 前面的 8cc8 之类的为其字节

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值