看来,下面是关于从16位的处理器切换到32位在许多教程给出的常用方法:

    mov     eax, cr0            ; set bit 0 in CR0-go to pmode
    or      eax, 1
    mov     cr0, eax

为什么不,我只是做到以下几点:

    or      cr0, 1

有我丢失的东西?可能我能想到的唯一事情是,我不能在CR0寄存器这样的操作。

有帮助吗?

解决方案

or操作者不具有操作码,其中它可以访问CR0寄存器。 (这不是能够对CR0寄存器执行该操作。)

这就是为什么mov有:存在一个操作码,其可以访问寄存器CR0

其他提示

或为比较运算符其中它实际上需要两个值,并创建一个解决方案。将溶液储存在EAX完成或操作之后。或无法使用的存储寄存器,因为它是一个专业的操作,并通过范围裁定,这就是为什么它是很好的做法,利用其结果,并立即在该过程完成后保存新的数值。

在阐述说了什么有关使用或与操作数,它具有用于存储没有容量它仅仅对数据执行该ID已经存在的操作。想想还是像一个计算器,其中有像加,减,乘或除一个操作的按钮。该代码是管理存储缓冲区的计算器;等,并利用其存储器存储内的数据的操作者/操作的服务,并且当完成获取用于进一步的操作或成品输出给用户的返回结果。

这里的问题是逻辑一,以及代码被深思熟虑和简洁 - 不错的东西

尝试这和在1个命令强制1至CR0:

MOV cr0, 1
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top