微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 8086指令系统---控制转移指令(一)

8086指令系统---控制转移指令(一)

时间:11-27 来源:互联网 点击:

表3.4 条件转移指令

分类

指 令

转 移 条 件

说 明

(Ⅰ)

JZ/JE

ZF=1

为零/相等, 则转移

JNZ/JNE

ZF=0

不为零/不相等, 则转移

JS

SF=1

为负, 则转移

JNS

SF=0

为正, 则转移

JO

OF=1

溢出, 则转移

JNO

OF=0

不溢出, 则转移

JP

PF=1

奇偶位为1, 则转移

JNP

PF=0

奇偶位为0, 则转移

JC

CF=1

进位位为1, 则转移

JNC

CF=0

进位位为0, 则转移

(Ⅱ)

JB/JNAE/JC

CF=1

低于/不高于等于, 则转移

JNB/JAE/JNC

CF=0

不低于/高于等于, 则转移

JBE/JNA

(CFZF)=1

低于等于/不高于, 则转移

JNBE/JA

(CFZF)=0

不低于等于/高于, 则转移

(Ⅲ)

JL/JNGE

(SFOF)=1

小于/不大于等于, 则转移

JNL/JGE

(SFOF)=0

不小于/大于等于, 则转移

JLE/JNG

((SFOF)ZF)=1

小于等于/不大于, 则转移

JNLE/JG

((SFOF)ZF)=0

不小于等于/大于, 则转移

(Ⅳ)

JCXZ

(CX)=0

CX的内容为0, 则转移

注:(Ⅰ)根据条件码的值转移 (Ⅱ)比较两个无符号数,根据比较的结果转移
(Ⅲ)比较两个带符号数,根据比较的结果转移 (Ⅳ)根据CX寄存器的值转移

 

1050:0000  B86610    MOV AX,1040
    1050:0003  8ED8     MOV DS,AX
    1050:0005  B90500    MOV CX,0005
    1050:0008  BB0000    MOV BX,0000
    1050:000D  0207 AGAIN: ADD AL,[BX]
    1050:000F  43      INC BX
    1050:0010  49      DEC CX
    1050:0011  75FA     JNZ 000D
    1050:0013  A20500    MOV [0005],AL
    1050:0016  B44C     MOV AH,4C
    1050:0018  CD21     INT 21

 例假设程序进行两个带符号数的比较,并根据比较结果转移,其中(AL)=80H,(BL)=01,请指出下面 两组指令的转向地址。

  ⑴ CMP AL,BL     ⑵ CMP AL,BL
    JL XY         JB XY  

  答:⑴ 转向目标地址XY;⑵不能实现转移。
    执行CMP指令时,(AL)-(BL)=80-01=7F,条件码设置为:SF=0,OF=1,CF=0。执行JL指令时,测试转移条件:SFOF = 01 =1,说明满足(AL)<(BL)的转移条件,因此,(IP)←XY的偏移地址,程序即转移到XY单元执行新的指令。

  JB指令的转移条件为CF=1,而CMP的执行结果使CF=0,所以不能引起转移。


Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top