惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
H
Hacker News: Front Page
P
Palo Alto Networks Blog
T
ThreatConnect
Apple Machine Learning Research
Apple Machine Learning Research
博客园_首页
T
True Tiger Recordings
P
Privacy & Cybersecurity Law Blog
B
Blog
IT之家
IT之家
Last Week in AI
Last Week in AI
F
Full Disclosure
Hacker News: Ask HN
Hacker News: Ask HN
C
Comments on: Blog
Microsoft Azure Blog
Microsoft Azure Blog
C
Cybersecurity and Infrastructure Security Agency CISA
Microsoft Security Blog
Microsoft Security Blog
博客园 - 【当耐特】
N
News and Events Feed by Topic
NISL@THU
NISL@THU
腾讯CDC
雷峰网
雷峰网
Security Latest
Security Latest
李成银的技术随笔
M
Microsoft Research Blog - Microsoft Research
L
LangChain Blog
L
Lohrmann on Cybersecurity
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Check Point Blog
Y
Y Combinator Blog
Recent Announcements
Recent Announcements
博客园 - Franky
N
News | PayPal Newsroom
V
V2EX
A
About on SuperTechFans
The Register - Security
The Register - Security
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google Online Security Blog
Google Online Security Blog
MyScale Blog
MyScale Blog
Cisco Talos Blog
Cisco Talos Blog
Vercel News
Vercel News
WordPress大学
WordPress大学
C
Cyber Attacks, Cyber Crime and Cyber Security
The Hacker News
The Hacker News
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
爱范儿
爱范儿
A
Arctic Wolf
L
LINUX DO - 最新话题
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

博客园 - Programming & Crack

征集"锐捷 私有MIB” 网络运维软件破解 DotNetBar 9.5 破解 DevExpress.10.2.6.Crack Actipro.WPF.Studio.v11.1.0541 破解 破解 更新 PPT转Word (源代码) - Programming & Crack 三茗闪电恢复 Mangofile.PersonalPlus5(x86) Crack SQLite.Expert.Professional.3.1.9 破解 Sqlite Developer 3.8 破解 TripleDESCrypto 解密函数在这里了,加密函数该如何写呢? - Programming & Crack Magic Locker v1.02 破解版 - Programming & Crack SQLPrompt 4.0 破解 FarPoint Spread for Windows Forms 5.0(.NET Framework 3.5). 注册机 - Programming & Crack 破解必备之:MSIL指令集 - Programming & Crack TeeChart NET 2010 VS NET2008 版本 4.1.2010.08046 Sandribbon、sanddock、sandbar== Actipro WPF Studio破解 - Programming & Crack
破解必备之:Win32跳转
Programming · 2010-09-02 · via 博客园 - Programming & Crack

一、状态寄存器

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位寄存器