X86架构指令模拟

前言:

要进行指令模拟,我们先需要了解X86架构下的指令是长什么样子的。根据intel的编程手册我们找到了如下信息。

Intel CPU的机器指令格式如下图所示:
X86架构指令模拟

 

e.g.:图片位于intel开发手册第二卷第二章的2.1

根据开发手册,一条指令由 指令前缀(Instruction Prefixes) + 操作码(Opcode) + ModR/M + SIB + 偏移(displacement) + 立即数(Immediate data)几部分组成,一条指令至少需要有Opcode,其它几部分,在不同指令中可能存在可能不存在。今天我们主要来看Opcode、Instruction Prefixes、Immediate data三部分在不同指令中的使用。

1.  指令前缀

指令前缀分为四组,每组都有一组允许的前缀代码。对于每条指令,它仅在包含来自四个组(组 1、2、3、4)中的每一组的最多一个前缀代码时有用。第 1 组至第 4 组可以以任何相对于彼此的顺序放置。

第一组:*和重复执行前缀

 

上一篇:ddos攻击的简单应急处理办法


下一篇:centos修改内核启动顺序