Toröffnungssequenzen

1) Material von Nopper, Makowsky, Schaller, CC-BY-NC-SA

(A1)

Alle Operationen sollen durchgeführt werden, ohne nach der anfänglichen Initialisierung irgendein Register direkt (von Hand) zu verändern. Ausschließlich das Schließen und Öffnen der "Tore" und das Auslösen eines Doppeltakts (Taste ») sind erlaubt. Notiere nach jedem Schritt die Belegung der Register AX, BX und IP.

Schreibe zunächst 09h von Hand in das Register DR. Erzeuge dann nach obigen Regeln die folgenden Operationen:

a) AX := DR (steht für "AX erhält den Wert in DR", es soll also danach eine 09 in AX stehen)

b) IP := DR

c) BX := IP + DR

d) IP := −1 (Hinweis: −1=FF)

e) IP := IP + DR

f) AX := AX − BX (geht nicht in einem Schritt, DR darf in diesem und den folgenden Befehlen überschrieben werden)

g) BX := −BX

h) Vertausche den Inhalt der Register AX und IP.

Zur Kontrolle: Jetzt sollte in AX 08, in BX EE und in IP F7 stehen.

Lösungen

a) AX := DR: 0+9

b) IP := DR: 4+9

c) BX := IP + DR: 2+5+9

d) IP := -1: 4+7+D

e) IP := IP + DR: 4+5+9

f) AX := AX − BX: 3+A danach 0+1+9+D

g) BX := -BX: 3+A danach 2+9+D

h) AX und IP vertauschen: 1+A dann 0+5 dann 4+9