Frage

Es scheint, dass die im Anschluss an eine übliche Methode in vielen Anleitungen Einschalten einen Prozessor von 16-Bit auf 32-Bit gegeben ist:

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

Warum sollte ich nicht einfach wie folgt vor:

    or      cr0, 1

Gibt es etwas, was ich vermisst habe? Vielleicht das einzige, was ich denken kann, ist, dass ich nicht eine Operation, wie dies auf dem cr0 Register durchführen.

War es hilfreich?

Lösung

Der or Operator hat keinen Op-Code, in dem sie das CR0-Register zugreifen können. (Es ist nicht möglich, diesen Vorgang in dem CR0-Register auszuführen.)

Das ist, warum die mov ist. Gibt es einen Op-Code, der das CR0 registrieren Zugriff

Andere Tipps

oder ist ein Vergleichsoperator, wo es tatsächlich dauert zwei Werte und schafft eine Lösung. Die Lösung wird in eax gespeichert, nachdem die ODER-Operation abgeschlossen ist. Oder kann nicht ein Speicherregister verwendet werden, da es dich um einen spezialisierten Betrieb ist und von Umfang ausgeschlossen und deshalb ist es eine gute Praxis ist seine Ergebnisse zu nehmen und sofort speichern die neuen Wert direkt nach Abschluss des Vorgangs.

Ausarbeitung über, was gesagt wurde über die Verwendung oder mit Operanden, hat es keinen Platz für die Lagerung lediglich eine Operation auf Daten, die ID bereits vorhanden ist. Denken Sie an oder wie ein Knopf auf einem Rechner, wo es eine Operation wie add hat, subtrahieren, multiplizieren oder dividieren. Der Code ist der Rechner, der die Speicherpuffer verwaltet; usw. und nutzt die Dienste eines Betreibers / Betrieb auf Daten in seinem Speicher speichert und wenn beendet die Rückgabeergebnisse für weitere Operationen oder fertige Ausgabe an den Benutzer erhält.

Die Frage ist hier eine logische Eins als auch der Code gut ist durchdacht und präzise -. Nette Sachen

Versuchen Sie, diese und zwingen 1 bis cr0 in 1 Befehl:

MOV cr0, 1
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top