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

循环与分支程序

控制转移指令

三种程序构件

  • 顺序结构、分支结构、循环结构(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语言类似

附上思维导图

汇编语言(五)——循环与分支程序_第1张图片

你可能感兴趣的:(汇编语言)