中国汉化 - www.shanse8.com

直接加微信

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

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

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

扫一扫,加微信好友

可直接咨询与求助

-->

汇编跳转 [复制链接]

  • 12284阅读
  • 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
"`QI2{!l  
条件码: =.*+c\  
①OF(Overflow Flag)溢出标志。溢出时为1,否则置0。 ~E]ct F  
②SF(Sign Flag)符号标志。结果为负时置1,否则置0. oNk ASAd  
③ZF(Zero Flag)零标志,运算结果为0时ZF位置1,否则置0. eU[f6OGqC  
④CF(Carry Flag)进位标志,进位时置1,否则置0. 2l7Sbs7  
⑤AF(Auxiliary carry Flag)辅助进位标志,记录运算时第3位(半个字节)产生的进位置。有进位时1,否则置0. 2jMV6S9  
⑥PF(Parity Flag)奇偶标志。结果操作数中1的个数为偶数时置1,否则置0. Qh 3V[br  
控制标志位: 8 |@WuD  
⑦DF(Direction Flag)方向标志,在串处理指令中控制信息的方向。 -<R"  
⑧IF(Interrupt Flag)中断标志。 o(2tRDT\_b  
⑨TF(Trap Flag)陷井标志。 vlHE\%{  
二、 直接标志转移(8位寻址) L>,j*a_[  
指令格式
机器码
测试条件
如...则转移
 
 
指令格式
机器码
测试条件
如...则转移
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位寻址) *jBn ^  
指令格式
机器码
测试格式
如...则转移
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) L5"|RI}  
操作码 伪码指令含义
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) ?pT\Ft V  
`&)khxT/  
操作码
伪码指令
跳转含义
跳转类型
跳转的条件(标志位)
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)
.K`^n\T t  
注:一些指令操作数的含义说明: a\wpJ|3{=T  
  rel8      表示 8 位相对地址 VfJbexYT  
  rel16    表示 16 位相对地址 G<1awi  
  rel16/32  表示 16或32 位相对地址 !MOgM  
  r/m16    表示16位寄存器 p,y(Fc~]g'  
  r/m32    表示32位寄存器
分享到
离线 xyzs
发表于: 2008-10-17 只看该作者
1F
老实说:不懂!!!
离线 overlove
发表于: 2008-10-24 只看该作者
2F
不懂…… \SQwIM   
人太笨……
离线 ouzonghuan
发表于: 2009-02-15 只看该作者
3F
貌似好复杂啊
离线 3639138
发表于: 2009-03-11 只看该作者
4F
PSW(Program Flag)程序状态字寄存器,是一个16位寄存器,由条件码标志(flag)和控制标志构成,如下所示: ] ,!\IqO  
1514131211109876543210 ] dW%g?  
    OFDFIFTFSFZF AF PF CF V;M3z9xd  
a[=;6!   Vww@eK%5Q  
条件码: oq9gFJG(   /&~nM  
①OF(Overflow Flag)溢出标志。溢出时为1,否则置0。 {RN-rF3w   c2tEz&=G  
②SF(Sign Flag)符号标志。结果为负时置1,否则置0. *FFD G_YG?   Ej;Vr~Wi  
③ZF(Zero Flag)零标志,运算结果为0时ZF位置1,否则置0. zNM*xPgS   v]LFZI5  
④CF(Carry Flag)进位标志,进位时置1,否则置0. J\hqK*/8   'e+-,CGdY\  
⑤AF(Auxiliary carry Flag)辅助进位标志,记录运算时第3位(半个字节)产生的进位置。有进位时1,否则置0. qNWSDZQ   ek Y?  
⑥PF(Parity Flag)奇偶标志。结果操作数中1的个数为偶数时置 TKj/6Jz|  
本文来自: 中国汉化 http://www.shanse8.com 精品汉化!CG教程、资源共享!原文地址:http://h.shanse8.com/read.php?tid=12269
离线 arthurfalcon
发表于: 2009-03-16 只看该作者
5F
学习学习。。。。。
离线 wjm4119
发表于: 2009-05-20 只看该作者
6F
高手啊厉害
离线 hbsdhp
发表于: 2009-09-09 只看该作者
7F
汇编语言很强大
离线 耐人寻味
发表于: 2009-10-22 只看该作者
8F
   额  不太懂
离线 笨=笨
发表于: 2009-11-12 只看该作者
9F
看  看学习
快速回复
限150 字节
温馨提示:欢迎交流讨论,请勿“纯表情、纯引用”!
 
上一个 下一个
      你的浏览器不支持js脚本,无法发帖,请修改浏览器设置,支持js脚本并刷新页面后再发帖!
      欢迎光临中国汉化网

      登录后更精彩!

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