【汇编语言】【笔记】转移指令的原理

本文详细介绍了8086CPU中的转移指令,包括短转移、近转移以及段间转移。重点讲解了 jmp 指令的不同用法,如依据位移、寄存器和内存中的转移地址,并提到了 jcxz 和 loop 指令的条件转移和循环功能。通过对位移计算和IP、CS的修改,阐述了如何控制CPU执行内存中的特定代码。
摘要由CSDN通过智能技术生成

转移指令的原理


转移指令:可以修改IP,或同时修改CS和IP的指令统称为转移指令。
即可以控制CPU执行内存中某处代码的指令

8086CPU的转移行为有以下分类

  • 段内转移:只修改IP中的内容
  • 段间转移:同时修改CS和IP中的内容

段内转移可以分为

  • 短转移:IP的修改范围为-128~127
  • 近转移:IP的修改范围为-32768~32767

操作符offset

功能:取得标号的偏移地址
例如:mov ax,offset start即将start标号的偏移地址送入ax中


jmp指令

依据位移进行的jmp指令

jmp short 标号表示转到标号处指令指令
short表示短转移,标号指代码段中的标号
该jmp指令可实现段内短转移,对IP的修改范围为**-128~127**
jmp short 标号指令的本质:

  • (ip)=(ip)+位移
  • 位移=标号处地址-jmp指令后的第一个字节的地址
  • short表明此处的位移为8位位移,即范围为-128~127
  • 8位位移由编译程序在编译时算出

jmp near ptr 标号

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值