小编mar*_*aft的帖子

x86处理器增加IP寄存器的数量是多少?

所有x86 cpu都有指令指针寄存器,它保存下一条要执行的指令的偏移量(地址).如果没有分支或跳转,那么下一条获取指令的递增(或递减)的典型量是多少?我认为这可能是32位典型指令的大小?

cpu x86 opcode

3
推荐指数
1
解决办法
774
查看次数

英特尔重置矢量和文档学究.位与字节

英特尔开发文档第3卷第9节的摘录

在硬件复位后获取并执行的第一条指令位于物理地址FFFFFFF0H.
该地址比处理器的最高物理地址低16个字节.
包含软件初始化代码的EPROM必须位于此地址.
在实地址模式下,地址FFFFFFF0H超出处理器的1 MB可寻址范围.

处理器初始化为该起始地址如下.
CS寄存器有两部分:可见段选择器部分和隐藏的基址部分.
在实地址模式中,基址通常是通过将16位段选择器值向左移位4位以产生20位基址来形成的.但是,在硬件复位期间,CS寄存器中的段选择器加载F000H,基址加载FFFF0000H.因此,通过将基址添加到EIP寄存器中的值(即,FFFF0000 + FFF0H = FFFFFFF0H)来形成起始地址.

我的问题是为什么它在这里使用单词字节时,似乎只对位有意义.假设CPU的物理极限是0xFFFFFFFF然后0xFFFFFFF0是16 bits从该限制,而不是字节远.现在如果英特尔闪存必须包含映射到顶部的每个地址的单字节值,那么我想我们可以调用16位,字节?

x86 assembly real-mode firmware

-1
推荐指数
1
解决办法
136
查看次数

标签 统计

x86 ×2

assembly ×1

cpu ×1

firmware ×1

opcode ×1

real-mode ×1