Intel 80x86架构【P6微架构】
Apollon_krj
岁月悠悠,衰微只及皮肤;热忱抛却,颓唐必至灵魂。
展开
-
Intel硬编码(一):Opcode Map、定长指令与指令前缀
IntelCPU的机器指令(硬编码)格式如下图所示: 一个指令由:指令前缀(Instruction Prefixes) + 操作码(Opcode) + ModR/M + SIB + 偏移(displacement) + 立即数(Immediate data)几部分组成,一条指令至少需要有Opcode,其它几部分,在不同指令中可能存在可能不存在。今天我们主要来看Opcode、Instruction原创 2017-08-23 19:16:27 · 7715 阅读 · 0 评论 -
Intel硬编码(二):不定长指令、ModR/M与SIB详解(基于P6微架构)
Intel硬编码(一):Opcode Map、定长指令与指令前缀 我们在Opcode Map中提到定长指令的索引方式,也分析了比较常见的一些定长指令,接着我们就要进行不定长指令的分析了。所谓不定长指得是SIB部分、Displcement、Immediate三部分存在与否以及各自长短,在Opcode与ModR/M确定之前都是不确定的。而ModR/M存在与否也是根据Opcode来确定的,一旦Opco原创 2017-08-24 13:16:34 · 10774 阅读 · 4 评论 -
IA-32保护模式下的内存寻址方式(一):分段
1、简介:在基于Intel 80x86微处理器的平台上,内存寻址是内存管理最重要的一部分内容。而关于内存地址在实际的软件及硬件实现上,也出现了不同的表示方式:逻辑地址(logical address)、线性地址/虚拟地址(linear address/virtual address)以及物理地址(physical address)。其中: ①逻辑地址为“16位段地址:偏移地址”的表示方...原创 2018-03-10 13:36:14 · 3459 阅读 · 0 评论 -
IA-32保护模式下的内存寻址方式(二):分页
有关IA-32分段可参考:IA-32保护模式下的内存寻址方式(一):分段1、分页、页、页框、缺页异常、页表的概念简述:MMU的分页单元(Paging unit)会把通过MMU分段单元(segmentation unit)计算得到的线性地址再次进行计算转化得到物理地址。分页单元除了进行地址计算,还有一个重要的任务就是要进行权限检查:将请求的访问类型(权限级别)和线性地址的访问权限(DPL...原创 2018-03-21 13:29:50 · 1766 阅读 · 0 评论