学习汇编语言Day03

一、CS、IP与代码段

1.CS:代码段寄存器
IP:指令指针寄存器
CS:IP:CPU将内存中CS:IP指向的内容当作指令执行。
在这里插入图片描述
2.8086读取和执行指令演示
(1)从CS:IP指向内存单元读取指令,读取的指令进入指令缓冲器;
(2)IP=IP+所读取指令的长度,从而指向下一条指令;
(3)执行指令。转到步骤(1),重复这一过程。
在这里插入图片描述
二、Debug的使用:

用R命令查看、改变CPU寄存器的内容;
用D命令查看内存中的内容;
用E命令改变内存中的内容;
用U命令将内存中的机器指令翻译为汇编指令;
用A命令以汇编指令的格式在内存中写入机器指令;
用T命令执行机器指令。

1.R命令:
在这里插入图片描述

2.D命令:
在这里插入图片描述
3.E命令:
在这里插入图片描述
4.U命令
在这里插入图片描述
5.A命令:
在这里插入图片描述
6.使用q-退出Debug

三、jmp指令
1.修改CS、IP的指令
事实:执行何处的指令,取决于CS:IP。
应用:可以通过改变CS、IP中的内容,来控制CPU要执行的目标指令。
问题:如何改变CS、IP的值?

方法1:Debug中的R命令可以改变寄存器的值–rcs,rip Debug是调试手段,并非程序方式!
方法2:用指令修改
方法3:转移指令jmp

2.同时修改CS、IP的内容

jmp段地址:偏移地址
jmp 2AE3:3
jmp 3;0B16
功能:用指令给出的段地址修改CS,偏移地址修改IP。

3.仅修改IP内容

jmp某一合法寄存器
jmp ax(类似于mov IP,ax)
jmp bx
功能:用寄存器中的值修改IP。

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

*ppsuc*

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值