Austauschbefehle
Austauschbefehle führen einen Austausch der Inhalte von zwei Operanden durch. Die Operanden können entweder Register oder der Stack sein. Je nach Breite der Operanden werden ein Byte oder ein Wort ausgetauscht.
Befehl |
Kurzbeschreibung |
Erläuterung |
Flags |
EX DE,HL |
DE <--> HL |
Tauscht den Inhalt der beiden Doppelregister DE und HL aus. |
unverändert |
EX AF,AF' |
AF <--> AF' |
Tauscht den Inhalt der beiden Register AF und AF' aus. Dieser Befehl wird in Kombination mit dem Befehl EXX zum Austausch der kompletten Arbeitsregisterbank (Register AF, BC, DE und HL) verwendet. |
ausgetauscht mit F' |
EXX |
HL <--> HL',
DE <--> DE',
BC <--> BC' |
Tauscht die Inhalte der Register BC, DE und HL mit den Inhalten der Register BC', DE' und HL'. |
unverändert |
EX (SP),HL |
(SP) <--> HL |
Tauscht den Inhalt des zuletzt am Stack abgelegten Wertes mit dem Inhalt von HL aus. Dieser Befehl kann dazu verwendet werden, Parameter, die mit PUSH auf den Stack gelegt wurden, direkt (ohne POP und PUSH) gegen HL auszutauschen. Außerdem kann man damit bei Unterprogrammaufrufen die Rücksprungadresse bequem austauschen. |
unverändert |
EX (SP),IX EX (SP),IY |
(SP) <--> IX oder
(SP) <--> IY |
Tauscht den Inhalt des zuletzt am Stack abgelegten Wertes mit dem Inhalt von IX bzw. IY aus. Dieser Befehl kann dazu verwendet werden, Parameter, die mit PUSH auf den Stack gelegt wurden, direkt (ohne POP und PUSH) gegen IX bzw. IY auszutauschen. |
unverändert |
|