兰州晓新信息技术工作室

专业致力于信息技术的应用和开发

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
正号
JNC
73
C=0
无进位
JO
70
O=1
有溢出
JZ/JE
74
Z=1
零/等于
JNO
71
O=0
无溢出
JNZ/JNE
75
Z=0
不为零/不等于
JP/JPE
7A
P=1
奇偶位为偶
JS
78
S=1
负号
JNP/IPO
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)

操作码 伪码指令 含义
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中

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

操作码
伪码指令
跳转含义
跳转类型
跳转的条件(标志位)
0F 87  cw/cd
JA rel16/32
大于
near
(CF=0 and ZF=0)
0F 83  cw/cd
JAE rel16/32
大于等于
near
(CF=0)
0F 82  cw/cd
JB rel16/32
小于
near
(CF=1)
0F 86  cw/cd
JBE rel16/32
小于等于
near
(CF=1 or ZF=1)
0F 82  cw/cd
JC rel16/32
进位
near
(CF=1)
0F 84  cw/cd
JE rel16/32
等于
near
(ZF=1)
0F 84  cw/cd
JZ rel16/32
为0
near
(ZF=1)
0F 8F  cw/cd
JG rel16/32
大于
near
(ZF=0 and SF=OF)
0F 8D  cw/cd
JGE rel16/32
大于等于
near
(SF=OF)
0F 8C  cw/cd
JL rel16/32
小于
near
(SF<>OF)
0F 8E  cw/cd
JLE rel16/32
小于等于
near
(ZF=1 or SF<>OF)
0F 86  cw/cd
JNA rel16/32
不大于
near
(CF=1 or ZF=1)
0F 82  cw/cd
JNAE rel16/32
不大于等于
near
(CF=1)
0F 83  cw/cd
JNB rel16/32
不小于
near
(CF=0)
0F 87  cw/cd
JNBE rel16/32
不小于等于
near
(CF=0 and ZF=0)
0F 83  cw/cd
JNC rel16/32
不进位
near
(CF=0)
0F 85  cw/cd
JNE rel16/32
不等于
near
(ZF=0)
0F 8E  cw/cd
JNG rel16/32
不大于
near
(ZF=1 or SF<>OF)
0F 8C  cw/cd
JNGE rel16/32
不大于等于
near
(SF<>OF)
0F 8D  cw/cd
JNL rel16/32
不小于
near
(SF=OF)
0F 8F  cw/cd
JNLE rel16/32
不小于等于
near
(ZF=0 and SF=OF)
0F 81  cw/cd
JNO rel16/32
未溢出
near
(OF=0)
0F 8B  cw/cd
JNP rel16/32
不是偶数
near
(PF=0)
0F 89  cw/cd
JNS rel16/32
非负数
near
(SF=0)
0F 85  cw/cd
JNZ rel16/32
非零(不等于)
near
(ZF=0)
0F 80  cw/cd
JO rel16/32
溢出
near
(OF=1)
0F 8A  cw/cd
JP rel16/32
偶数
near
(PF=1)
0F 8A  cw/cd
JPE rel16/32
偶数
near
(PF=1)
0F 8B  cw/cd
JPO rel16/32
奇数
near
(PF=0)
0F 88  cw/cd
JS rel16/32
负数
near
(SF=1)
0F 84  cw/cd
JZ rel16/32
为零(等于)
near
(ZF=1)


注:一些指令操作数的含义说明:
  rel8      表示 8 位相对地址
  rel16    表示 16 位相对地址
  rel16/32  表示 16或32 位相对地址
  r/m16    表示16位寄存器
  r/m32    表示32位寄存器 
 

阅读更多
个人分类: 加密与解密技术
想对作者说点什么? 我来说一句

8088汇编速查手册

2009年12月20日 2KB 下载

8088汇编手册8088汇编手册

2011年01月16日 5KB 下载

8088 汇编跳转速查表

2010年05月02日 128KB 下载

8088汇编速查手册

2009年09月22日 266KB 下载

8088 汇编速查手册 .docx

2011年05月30日 14KB 下载

8088 汇编速查手册

2008年02月29日 3KB 下载

8086/8088汇编指令表

2009年08月04日 5KB 下载

8088汇编

2013年07月14日 7KB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭