一、状况存放器
PSW(Program Flag)程序状况字存放器,是一个16位存放器,由前提码标记(flag)跟把持标记形成,如下所示:
1514131211109876543210 OFDFIFTFSFZF AF PF CF
前提码:
①OF(Overflow Flag)溢出标记,
[转] 孩子爱吃的十种早餐。溢出时为1,否则置0。
②SF(Sign Flag)符号标记。成果为负时置1,否则置0.
③ZF(Zero Flag)零标记,运算成果为0时ZF地位1,否则置0.
④CF(Carry Flag)进位标记,
x卧底官方网,进位时置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 72C=1有进位JNS79S=0正号JNC 73C=0无进位JO70O=1有溢出JZ/JE 74Z=1零/即是JNO71O=0无溢出JNZ/JNE 75Z=0不为零/不即是JP/JPE7AP=1奇偶位为偶JS78S=1负号JNP/IPO7BP=0奇偶位为奇三、间接标记转移(8位寻址)
指令格局机器码测试格局如...则转移JA/JNBE(比拟无符号数)77C或Z=0> 高于/不低于或即是JAE/JNB(比拟无符号数)73C=0>= 高于或即是/不低于JB/JNAE(比拟无符号数)72C=1< 低于/不高于或即是JBE/JNA(比拟无符号数)76C或Z=1<= 低于或即是/不高于JG/JNLE(比拟带符号数)7F(S异或O)或Z=0> 大于/不小于或即是JGE/JNL(比拟带符号数)7DS异或O=0>= 大于或即是/不小于JL/JNGE(比拟带符号数)7CS异或O=1< 小于/不大于或即是JLE/JNG(比拟带符号数)7E(S异或O)或Z=1<= 小于或即是/不大于四、无前提转移指令(fisheep译 fisheep@sohu.com)
操作码 伪码指令含意EB cbJMP rel8绝对短跳转(8位),使rel8处的代码位下一条指令E9 cwJMP rel16 绝对跳转(16位),使rel16处的代码位下一条指令FF /4JMP r/m16相对跳转(16位),下一指令地址在r/m16中给出FF /4JMP r/m32相对跳转(32位),下一指令地址在r/m32中给出EA cbJMP ptr16:16远间隔相对跳转, 下一指令地址在操作数中EA cbJMP ptr16:32 远间隔相对跳转, 下一指令地址在操作数中FF /5JMP m16:16远间隔相对跳转, 下一指令地址在内存m16:16中FF /5JMP m16:32 远间隔相对跳转,
香港六合彩公司, 下一指令地址在内存m16:32中五、16位/32位寻址方法(fisheep译 fisheep@sohu.com)
操作码伪码指令跳转含意 跳转类型跳转的前提(标记位)0F 87 cw/cdJA rel16/32大于near(CF=0 and ZF=0)0F 83 cw/cdJAE rel16/32大于即是near(CF=0)0F 82 cw/cdJB rel16/32小于near(CF=1)0F 86 cw/cdJBE rel16/32小于即是near(CF=1 or ZF=1)0F 82 cw/cdJC rel16/32进位near(CF=1)0F 84 cw/cdJE rel16/32即是near(ZF=1)0F 84 cw/cdJZ rel16/32为0near(ZF=1)0F 8F cw/cdJG rel16/32大于near(ZF=0 and SF=OF)0F 8D cw/cdJGE rel16/32 大于即是near(SF=OF)0F 8C cw/cdJL rel16/32小于 near(SF<>OF)0F 8E cw/cdJLE rel16/32小于即是near(ZF=1 or SF<>OF)0F 86 cw/cdJNA rel16/32 不大于near(CF=1 or ZF=1)0F 82 cw/cdJNAE rel16/32不大于即是near(CF=1)0F 83 cw/cdJNB rel16/32不小于near(CF=0)0F 87 cw/cdJNBE rel16/32不小于即是near(CF=0 and ZF=0)0F 83 cw/cdJNC rel16/32 不进位near(CF=0)0F 85 cw/cdJNE rel16/32不即是near(ZF=0)0F 8E cw/cdJNG rel16/32不大于near(ZF=1 or SF<>OF)0F 8C cw/cdJNGE rel16/32 不大于即是near(SF<>OF)0F 8D cw/cdJNL rel16/32不小于near(SF=OF)0F 8F cw/cdJNLE rel16/32 不小于即是near(ZF=0 and SF=OF)0F 81 cw/cdJNO rel16/32未溢出near(OF=0)0F 8B cw/cdJNP rel16/32 不是偶数near(PF=0)0F 89 cw/cdJNS rel16/32 非负数near(SF=0)0F 85 cw/cdJNZ rel16/32非零(不即是)near(ZF=0)0F 80 cw/cdJO rel16/32 溢出near(OF=1)0F 8A cw/cdJP rel16/32 偶数near(PF=1)0F 8A cw/cdJPE rel16/32偶数near(PF=1)0F 8B cw/cdJPO rel16/32 奇数near(PF=0)0F 88 cw/cdJS rel16/32负数near(SF=1)0F 84 cw/cdJZ rel16/32 为零(即是)near(ZF=1)
注:一些指令操作数的含意阐明:
rel8 表现 8 位绝对地址
rel16 表现 16 位绝对地址
rel16/32 表现 16或32 位绝对地址
r/m16 表现16位存放器
r/m32 表现32位存放器