Установка процессора в 32-битный режим - PullRequest
2 голосов
/ 04 апреля 2010

Похоже, что во многих руководствах приведен следующий метод переключения процессора с 16-разрядного на 32-разрядный:

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

Почему бы мне просто не сделать следующее:

    or      cr0, 1

Есть ли что-то, чего мне не хватает?Возможно, я могу думать только о том, что я не могу выполнить такую ​​операцию с регистром cr0.

Ответы [ 3 ]

6 голосов
/ 04 апреля 2010

Оператор or не имеет операционного кода, в котором он может получить доступ к регистру CR0. (Невозможно выполнить эту операцию с регистром CR0.)

Именно поэтому mov существует: существует код операции, который может получить доступ к регистру CR0.

0 голосов
/ 27 мая 2012

Попробуйте это и принудите 1 к cr0 в 1 команде:

MOV cr0, 1
0 голосов
/ 13 сентября 2011

или является оператором сравнения, где он фактически принимает два значения и создает решение. Решение сохраняется в eax после завершения операции или. Или нельзя использовать регистр хранения, поскольку он является специализированной операцией и управляется областью действия, поэтому рекомендуется брать его результаты и сразу же сохранять новое значение сразу после завершения процесса.

Развивая то, что было сказано об использовании или с операндами, он не имеет возможности для хранения, он просто выполняет операцию с данными, которые уже присутствуют. Думайте или используйте кнопку на калькуляторе, в которой есть одна операция, такая как сложение, вычитание, умножение или деление. Код является калькулятором, который управляет буферами памяти; и т. д. и использует услуги оператора / операции над данными в своих хранилищах памяти, а после завершения получает результаты возврата для дальнейших операций или окончательного вывода пользователю.

Вопрос здесь логичен, так как код хорошо продуман и сжат - приятные мелочи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...