汇编编程笔记--转移与循环指令

本文详细介绍了汇编语言中的转移指令 jmp、比较指令 cmp 以及循环指令系列,包括无条件转移、条件转移、LOOP 及其变种。通过对各种指令的格式、意义及使用场景的解析,帮助理解汇编程序中的控制流程和循环操作。
摘要由CSDN通过智能技术生成

一.jmp指令

  (1)指令格式: jmp 标记名称

  (2指令意义: 无条件转移指令,类似c语言goto指令,执行此指令时,先将标记名称所在的地址入到指令寄存器(ip)内,程序就执行ip所指之处的指令.

 (3)指令执行后,根据结果可能变动的标记: jmp指令并不影响任何标记.
>>>>> 注:
1.标记名称(traget)的命名,不可以用保留字.
2.标记名称所在地址,可以依据程序流程的需要可以放在任何地方,也即转移指令可以往前移,
  可以往后移.
3.依据所转移的距离(所谓距离是指界于jmp至标记名所有指令的机器码的总和),本指令
  在汇编时,可以三类机器码如下:
  A>Shor:往前移动128个byte机器码或往后移动超过127个byte机器码,属于短距离的转移.
  B>Near:往前移动128个byte机器码或往后移动127个byte机器码,属于短距离的转移.
  C>Far: 标记所在地址与jmp指令不属于同一程序段(即一个在主程序,另一个在子程序),
         这个是长距离转移,汇编时被汇编成5个byte长度的机器码,第一个byte为ea,
         第四个和第五个byte为标记所在的地址,第二个和第三个byte为相对于段地址的
         偏移值(offset).

>>>>下面是个无条件转移指令综合范例:<<<<<<

/

二.      CMP指令
(1)指令格式: cmp 想比较的对象,跟谁比(根据内容)
 (2) 指令意义: compare,比较指令,将所指定的对象与想比较的内容相减,依据
               相减后的结果来设定标记值,参与相减的二个运算元素,内容并
               不会改变.
下面用例子说明:
     1) CMP AL,25
     2) CMP CX,BX
     3)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值