Mit den Ladebefehlen belegt man Register oder Speicheradressen mit Werten und Inhalten von anderen Registern.
Beispiele:
LD A,&3C | Der Wert &3C wird dem A-Register zugewiesen. |
LD A,C | Der Inhalt vom C-Register wird in das A-Register kopiert. |
LD (xxyy),A | Die Adresse xxyy wird mit dem Wert vom A-Register belegt. |
LD BC,xxyy | Der Wert xxyy wird dem BC Register zugewiesen. |
LD BC,(xxyy) | Ins BC-Register kommt der Wert: Inhalt von (xxyy) + Inhalt von (xxyy+l) * 256 |
Die Transportbefehle PUSH und POP dienen zum Ablegen von Registerinhalten auf den Stack. Der Stack ist wie ein Speicher, bei dem man oben auflegen und nur oben wieder wegnehmen kann.
Zur Verdeutlichung ein Beispiel:
PUSH AF | AF-Register wird auf Stack gelegt. |
PUSH BC | BC-Register wird auf Stack gelegt. |
POP AF | erhält oberster Stack-Wert (also alter BC-Wert). |
POP BC | erhält oberster Stack-Wert (also alter AF-Wert). |
Der Stack-Pointer , das SP-Register, zeigt immer auf die Adresse des obersten Elementes des Stapels. Eigentlich müsste der Stapel definiert werden, da aber der PC-1600 ein eigenes ROM besitzt, können wir davon absehen.
PUSH und POP werden also vorallem für das Sichern
und Rekonstroieren von Registern benötigt.