汇编语言(第四版)-王爽 一些汇编指令的作用

本文介绍了四个调试命令在计算机内存操作中的应用:r用于查看和修改寄存器,d用于查看和修改内存(包括不同格式),e用于写入和修改内存内容,以及jmp指令的使用。还讨论了如何通过debug和寄存器操作来间接修改cs和ip值。
摘要由CSDN通过智能技术生成

r命令

1.查看寄存器的内容
2.修改寄存器的内容

在这里插入图片描述

d命令

查看内存中的内容
1.格式一:-d 直接查询地址,默认是cs:ip的起始单元内存

在这里插入图片描述

2.格式二:-d 段地址:偏移地址 ,查询指定单元的内存

在这里插入图片描述

3.格式三 -d 段地址:开始偏移偏移地址~ 结尾偏移地址 ,可以查看指定范围的内存内容

在这里插入图片描述
错误格式

e命令

改写内存中的内容

1.向内存中写入数据或写入字符串在这里插入图片描述在这里插入图片描述
输入字符,会自动转换为ASCII码
在这里插入图片描述
2.向内存中写入机器码(本质上还是向内存单元写入数据,只不过特定的数据组合在一起就形成了对应的汇编指令)

机器码         	对应的汇编指令
b80100        	mov ax,0001
b90200       	mov cx,0002
01c8           	add  ax ,cx

在这里插入图片描述

u命令

将用e命令写入的机器码编译成汇编指令,见上图所示

a命令

写入汇编指令

在这里插入图片描述

t命令

执行一条机器指令

在这里插入图片描述

jmp 指令

修改cs,ip的值

jmp好像和mov,add,sub是一类的指令,我把它归类在这好像不太妥,但是写都写了,就放着吧(微笑)
提出问题:如何修改cs,ip指令?
方法一:debug中的r命令可以修改寄存器的值
注:debug是调试指令,并非程序方式(不推荐)
在这里插入图片描述

方法二: 用指令修改
mov CS,2000
mov IP,1000
这是不可行的,电脑机器没有提供这样的功能
在这里插入图片描述

方法三:转移指令 jmp
格式一:jmp 段地址(CS):偏移地址(IP)
在这里插入图片描述
在这里插入图片描述

格式二:jmp 某一合法寄存器 ,功能为:用寄存器的值修改ip
如:jmp ax 本质上为 mov ip,ax
在这里插入图片描述
jmp ax
指令执行前:ax=0000,cs=073f,ip=0100
指令执行后:ax=0000,cs=073f,ip=0000

  • 16
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值