8088汇编跳转,8088汇编跳转和PSW状态字寄存器【永利澳门游戏网站】

一、状态寄存器

DDD

PSW(Program
Flag)程序状态字寄存器,是一个16位寄存器,由条件码标志(flag)和控制标志构成,如下所示:

 

15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0

 

 
 
 
 
OF
DF
IF
TF
SF
ZF
 
AF
 
PF
 
CF

8088 汇编跳转

条件码:
①OF(Overflow Flag)溢出标志。溢出时为1,否则置0。
②SF(Sign Flag)符号标志。结果为负时置1,否则置0.
③ZF(Zero Flag)零标志,运算结果为0时ZF位置1,否则置0.
④CF(Carry Flag)进位标志,进位时置1,否则置0.
⑤AF(Auxiliary carry
Flag)辅助进位标志,记录运算时第3位(半个字节)产生的进位置。有进位时1,否则置0.
⑥PF(Parity
Flag)奇偶标志。结果操作数中1的个数为偶数时置1,否则置0.

日期:2003年6月12日  出处:嬴政天下整理收藏  作者:看雪  人气:
8735

控制标志位:
⑦DF(Direction Flag)方向标志,在串处理指令中控制信息的方向。
⑧IF(Interrupt Flag)中断标志。
⑨TF(Trap Flag)陷井标志。


二、 直接标志转移(8位寻址)

8088 汇编跳转

指令格式

一、状态寄存器

机器码

PSW(Program
Flag)程序状态字寄存器,是一个16位寄存器,由条件码标志(flag)和控制标志构成,如下所示:

测试条件

15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0

如…则转移

 
 
 
 
OF
DF
IF
TF
SF
ZF
 
AF
 
PF
 
CF

 

条件码:
①OF(Overflow Flag)溢出标志。溢出时为1,否则置0。
②SF(Sign Flag)符号标志。结果为负时置1,否则置0.
③ZF(Zero Flag)零标志,运算结果为0时ZF位置1,否则置0.
④CF(Carry Flag)进位标志,进位时置1,否则置0.
⑤AF(Auxiliary carry
Flag)辅助进位标志,记录运算时第3位(半个字节)产生的进位置。有进位时1,否则置0.
⑥PF(Parity
Flag)奇偶标志。结果操作数中1的个数为偶数时置1,否则置0.

 

控制标志位:
⑦DF(Direction Flag)方向标志,在串处理指令中控制信息的方向。
⑧IF(Interrupt Flag)中断标志。
⑨TF(Trap Flag)陷井标志。

指令格式

二、 直接标志转移(8位寻址)

机器码

指令格式

测试条件

机器码

如…则转移

测试条件

JC

如…则转移

72

 

C=1

 

有进位

指令格式

JNS

机器码

79

测试条件

S=0

如…则转移

正号

JC

JNC

72

73

C=1

C=0

有进位

无进位

JNS

JO

79

70

S=0

O=1

正号

有溢出

JNC

JZ/JE

73

74

C=0

Z=1

无进位

零/等于

JO

JNO

70

71

O=1

O=0

有溢出

无溢出

JZ/JE

JNZ/JNE

74

75

Z=1

Z=0

零/等于

不为零/不等于

JNO

JP/JPE

71

7A

O=0

P=1

无溢出

奇偶位为偶

JNZ/JNE

JS

75

78

Z=0

S=1

不为零/不等于

负号

JP/JPE

JNP/IPO

7A

7B

P=1

P=0

奇偶位为偶

奇偶位为奇

JS

三、间接标志转移(8位寻址)

78

指令格式
机器码
测试格式
如…则转移
JA/JNBE(比较无符号数)
77
C或Z=0
>  高于/不低于或等于
JAE/JNB(比较无符号数)
73
C=0
>=  高于或等于/不低于
JB/JNAE(比较无符号数)
72
C=1
<  低于/不高于或等于
JBE/JNA(比较无符号数)
76
C或Z=1
<=  低于或等于/不高于
JG/JNLE(比较带符号数)
7F
(S异或O)或Z=0
>  大于/不小于或等于
JGE/JNL(比较带符号数)
7D
S异或O=0
>=  大于或等于/不小于
JL/JNGE(比较带符号数)
7C
S异或O=1
<  小于/不大于或等于
JLE/JNG(比较带符号数)
7E
(S异或O)或Z=1
<=  小于或等于/不大于

S=1

四、无条件转移指令(fisheep译 fisheep@sohu.com)

负号

操作码 伪码指令 含义
EB  cb
JMP rel8 相对短跳转(8位),使rel8处的代码位下一条指令
E9  cw
JMP rel16 相对跳转(16位),使rel16处的代码位下一条指令
FF  /4
JMP r/m16 绝对跳转(16位),下一指令地址在r/m16中给出
FF  /4
JMP r/m32 绝对跳转(32位),下一指令地址在r/m32中给出
EA  cb
JMP ptr16:16 远距离绝对跳转, 下一指令地址在操作数中
EA  cb
JMP ptr16:32 远距离绝对跳转, 下一指令地址在操作数中
FF  /5
JMP m16:16 远距离绝对跳转, 下一指令地址在内存m16:16中
FF  /5
JMP m16:32 远距离绝对跳转, 下一指令地址在内存m16:32中

JNP/IPO

五、16位/32位寻址方式(fisheep译 fisheep@sohu.com)

7B

操作码

P=0

伪码指令

奇偶位为奇

跳转含义

三、间接标志转移(8位寻址)

跳转类型

指令格式
机器码
测试格式
如…则转移
JA/JNBE(比较无符号数)
77
C或Z=0
>  高于/不低于或等于
JAE/JNB(比较无符号数)
73
C=0
>=  高于或等于/不低于
JB/JNAE(比较无符号数)
72
C=1
<  低于/不高于或等于
JBE/JNA(比较无符号数)
76
C或Z=1
<=  低于或等于/不高于
JG/JNLE(比较带符号数)
7F
(S异或O)或Z=0
>  大于/不小于或等于
JGE/JNL(比较带符号数)
7D
S异或O=0
>=  大于或等于/不小于
JL/JNGE(比较带符号数)
7C
S异或O=1
<  小于/不大于或等于
JLE/JNG(比较带符号数)
7E
(S异或O)或Z=1
<=  小于或等于/不大于

跳转的条件(标志位)

四、无条件转移指令(fisheep译
fisheep@sohu.com)

0F 87  cw/cd

操作码 伪码指令 含义
EB  cb
JMP rel8 相对短跳转(8位),使rel8处的代码位下一条指令
E9  cw
JMP rel16 相对跳转(16位),使rel16处的代码位下一条指令
FF  /4
JMP r/m16 绝对跳转(16位),下一指令地址在r/m16中给出
FF  /4
JMP r/m32 绝对跳转(32位),下一指令地址在r/m32中给出
EA  cb
JMP ptr16:16 远距离绝对跳转, 下一指令地址在操作数中
EA  cb
JMP ptr16:32 远距离绝对跳转, 下一指令地址在操作数中
FF  /5
JMP m16:16 远距离绝对跳转, 下一指令地址在内存m16:16中
FF  /5
JMP m16:32 远距离绝对跳转, 下一指令地址在内存m16:32中

JA rel16/32

五、16位/32位寻址方式(fisheep译
fisheep@sohu.com)

大于

操作码

near

伪码指令

(CF=0 and ZF=0)

跳转含义

0F 83  cw/cd

跳转类型

JAE rel16/32

跳转的条件(标志位)

大于等于

0F 87  cw/cd

near

JA rel16/32

(CF=0)

大于

0F 82  cw/cd

near

JB rel16/32

(CF=0 and ZF=0)

小于

0F 83  cw/cd

near

JAE rel16/32

(CF=1)

大于等于

0F 86  cw/cd

near

JBE rel16/32

(CF=0)

小于等于

0F 82  cw/cd

near

JB rel16/32

(CF=1 or ZF=1)

小于

0F 82  cw/cd

near

JC rel16/32

(CF=1)

进位

0F 86  cw/cd

near

JBE rel16/32

(CF=1)

小于等于

0F 84  cw/cd

near

JE rel16/32

(CF=1 or ZF=1)

等于

0F 82  cw/cd

near

JC rel16/32

(ZF=1)

进位

0F 84  cw/cd

near

JZ rel16/32

(CF=1)

为0

0F 84  cw/cd

near

JE rel16/32

(ZF=1)

等于

0F 8F  cw/cd

near

JG rel16/32

(ZF=1)

大于

0F 84  cw/cd

near

JZ rel16/32

(ZF=0 and SF=OF)

为0

0F 8D  cw/cd

near

JGE rel16/32

(ZF=1)

大于等于

0F 8F  cw/cd

near

JG rel16/32

(SF=OF)

大于

0F 8C  cw/cd

near

JL rel16/32

(ZF=0 and SF=OF)

小于

0F 8D  cw/cd

near

JGE rel16/32

(SF<>OF)

大于等于

0F 8E  cw/cd

near

JLE rel16/32

(SF=OF)

小于等于

0F 8C  cw/cd

near

JL rel16/32

(ZF=1 or SF<>OF)

小于

0F 86  cw/cd

near

JNA rel16/32

(SF<>OF)

不大于

0F 8E  cw/cd

near

JLE rel16/32

(CF=1 or ZF=1)

小于等于

0F 82  cw/cd

near

JNAE rel16/32

(ZF=1 or SF<>OF)

不大于等于

0F 86  cw/cd

near

JNA rel16/32

(CF=1)

不大于

0F 83  cw/cd

near

JNB rel16/32

(CF=1 or ZF=1)

不小于

0F 82  cw/cd

发表评论

电子邮件地址不会被公开。 必填项已用*标注