汇编语言(五)——循环与分支程序

本文介绍了汇编语言中的循环与分支程序,包括控制转移指令如JMP、条件转移指令如JZ、循环指令如LOOP及其变种,并探讨了循环结构(DO-WHILE, WHILE)和分支结构(双分枝、多分枝)的设计。内容详细解释了各种指令的使用和执行过程。" 106037235,7376522,在Windows上安装Ubuntu子系统完全指南,"['windows', 'ubuntu', 'linux', '开发环境', 'bash']

循环与分支程序

控制转移指令

三种程序构件

  • 顺序结构、分支结构、循环结构(WHILE、UNTIL)

无条件转移指令

  • JMP(跳转指令)

1.段内直接短转移:JMP SHORT OPR
(IP)《=(IP)+8位位移量

2.段内直接近转移:JMP NEAR PTR OPR
(IP)《=(IP)+16位位移量

3.段内间接转移:JMP WORD PTR OPR
(IP)《=(EA)

段内转移只改变(IP)的值

1.段间直接远转移:JMP FAR PTR OPR
(IP)《= OPR的段内偏移地址
(CS)《= OPR所在段的段地址

2.段间间接转移:JMP DWORD PTR OPR
(IP)《=(EA)
(CS)《= (EA + 2)

条件转移指令

  • JZ / JNZ:为0 / 不为0——转移

  • JE / JNE:相等 / 不相等——转移

  • JS / JNS:为负 / 不为负——转移

  • JO / JNO:溢出 / 不溢出——转移

  • JP / JNP:奇偶位 为1 / 为0——转移

  • JB / JNB:低于 / 不低于——转移

  • JL / JNL:小于 / 大于——转移

  • JBE / JNBE:低于等于 / 高于——转移

  • JLE / JNLE:小于等于 / 大于——转移

  • JCXZ:CX值为0则转移
    循环指令

  • LOOP(循环指令)
    格式:LOOP 短标号
    执行过程:(CX)《=(CX)- 1
    (CX) = 0 时终止

  • LOOPE / LOOPZ(相等 / 为零循环指令)
    格式:LOOPE / LOOPZ 短标号
    执行过程:(CX)《=(CX)- 1
    (CX) = 0 或 ZF = 1 时终止

  • LOOPNE / LOOPNZ(不相等 / 不为零循环指令)
    格式:LOOPNE / LOOPNZ 短标号
    执行过程:(CX)《=(CX)- 1
    (CX) = 0 或 ZF = 0 时终止

循环结构程序设计
  • DO-WHILE结构
  • WHILE结构
    和C语言类似
分支结构程序设计
  • 双分枝机结构
  • 多分枝结构
  • 和C语言类似

附上思维导图

在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值