001
19.12.2020, 10:58 Uhr
susowa
|
Ungefähr so (Auszug aus der CAOS-Version von PICGEN):
Quellcode: | ; ORG 0 ;Aufruf aus anderen Programmen ;z.B. BASIC: ; CALL IRMON PUSH AF CALL UREL DW START-2-$ CALL IRMOF POP AF RET ;------- DW 7F7FH DB 'PICGEN',1 START: LD A,(7FFFH)
|
Das Programm wird auf Adresse 0 assembliert und MUSS mit Offset geladen werden, sonst stürzt CAOS ab, weil Systemzellen überschrieben werden.
CALL UREL ruft jetzt u.a. START relativ auf, weil zur Assemblierzeit der Adressabstand zur Aufrufadresse bekannt ist aber die absolute Adresse nicht, welche erst durch den Offset beim Laden des Programmes in den RAM festgelegt wird.
MfG |