中国汉化 - www.shanse8.com

直接加微信

鼠标放在右下面微信图标上,会弹出微信二维码

扫描二维码访问中国汉化官网移动版

成就您每时每刻您所需要的

扫一扫,加微信好友

可直接咨询与求助

-->

汇编跳转 [复制链接]

  • 12384阅读
  • 42回复
离线 020wd
楼主  发表于: 2008-10-17 只看楼主 正序阅读
0F

中国汉化网提醒您:

一、状态寄存器
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
L\O}q  
条件码: Yh^~4S?  
①OF(Overflow Flag)溢出标志。溢出时为1,否则置0。 r$=YhI/=  
②SF(Sign Flag)符号标志。结果为负时置1,否则置0. 47(/K2  
③ZF(Zero Flag)零标志,运算结果为0时ZF位置1,否则置0. WKHEU)'!  
④CF(Carry Flag)进位标志,进位时置1,否则置0. T3-8AUCK8?  
⑤AF(Auxiliary carry Flag)辅助进位标志,记录运算时第3位(半个字节)产生的进位置。有进位时1,否则置0. ow,4'f!d  
⑥PF(Parity Flag)奇偶标志。结果操作数中1的个数为偶数时置1,否则置0. |?a 4Nl?  
控制标志位: 3n\eCdV-b<  
⑦DF(Direction Flag)方向标志,在串处理指令中控制信息的方向。 ^5"2s:vP  
⑧IF(Interrupt Flag)中断标志。 |fQl0hL  
⑨TF(Trap Flag)陷井标志。 kX\\t.nH  
二、 直接标志转移(8位寻址) {95z\UE}  
指令格式
机器码
测试条件
如...则转移
 
 
指令格式
机器码
测试条件
如...则转移
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位寻址) Pk9 4O  
指令格式
机器码
测试格式
如...则转移
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) )^G&p[G  
操作码 伪码指令含义
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) FIB 9W@oao  
n+C,v.X  
操作码
伪码指令
跳转含义
跳转类型
跳转的条件(标志位)
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)
UR/l M,N;  
注:一些指令操作数的含义说明: |{KZ<  
  rel8      表示 8 位相对地址 ?qn0].  
  rel16    表示 16 位相对地址 gC}r$ZB(  
  rel16/32  表示 16或32 位相对地址 jKOjw#N  
  r/m16    表示16位寄存器 N8<Wm>GLX~  
  r/m32    表示32位寄存器
分享到
离线 zhouxin666
发表于: 2020-08-07 只看该作者
42F
太好了!顶一个!
发表于: 2013-12-13 只看该作者
41F
看不懂
离线 licu
发表于: 2013-09-22 只看该作者
40F
感謝你的辛苦
离线 borloon
发表于: 2013-01-04 只看该作者
39F
好帖子。不错分享
离线 qpzmabc
发表于: 2012-11-28 只看该作者
38F
半懂不懂啊
离线 yuanzigou
发表于: 2012-09-04 只看该作者
37F
好想学做修改器,却连基址都找不到
离线 kdpzxl5379
发表于: 2012-08-31 只看该作者
36F
dwdwde
离线 kdpzxl5379
发表于: 2012-08-31 只看该作者
35F
dwdwd
离线 wangfq332
发表于: 2012-08-28 只看该作者
34F
正在学习汇编
快速回复
限150 字节
温馨提示:严禁胡乱恶意回复帖子,违者严惩,严重者封号!
 
上一个 下一个
      你的浏览器不支持js脚本,无法发帖,请修改浏览器设置,支持js脚本并刷新页面后再发帖!
      欢迎光临中国汉化网

      登录后更精彩!

      下拉
      使用快捷登录 或 免费注册