【发布时间】:2011-02-04 05:41:41
【问题描述】:
以下似乎是许多教程中给出的关于将处理器从 16 位切换到 32 位的常用方法:
mov eax, cr0 ; set bit 0 in CR0-go to pmode
or eax, 1
mov cr0, eax
我为什么不简单地执行以下操作:
or cr0, 1
我有什么遗漏吗?可能我唯一能想到的就是不能对cr0寄存器进行这样的操作。
【问题讨论】:
-
“可能我唯一能想到的就是我不能在 cr0 寄存器上执行这样的操作”——这将是一个很好的理由。并非所有寄存器都支持所有操作。
-
@Neil - 那么,我想我明白为什么不能这样做了。大声笑...
标签: assembly x86 32-bit 16-bit