![]() |
![]() |
![]() |
|
Das folgende Beispiel-Programm für die RETII-CPU kopiert sich selbst an eine neue Stelle im RAM und führt dann das Programm an der neuen Position aus.
; \
; Ein Programm, das sich selbst kopiert, und dann diese \
; Kopie ausführt. \
; \
START: LOADI IN1, START ; Anfangsadress in IN1 laden \
LOOP: LOADIN1 ACC, 0 ; Wort auf das IN1 zeigt \
; in ACC laden \
STOREIN1 ENDE - START ; ... und an das Ziel kopieren \
ADDI IN1, 1 ; IN1 weiterzälen \
JUMP eq , ENDE + 1 ; falls das letzte kopierte \
; Wort eine 0 war, die Kopie \
; ausführen ... \
JUMP LOOP ; ... ansonsten weiterkopieren \
DW 0 ; Marker für Programmende \
ENDE: ; Ziel der Kopieraktion