Nascom Journal |
Juni 1981 · Ausgabe 6 |
Dann sucht der Relocator die Information „RELO“, rechnet die folgenden Adressen auf die physikalische Lage des Programms um und addiert (oder subtrahiert) das Displacement zu ihren Inhalten.
Nach Auffinden von 00 00 meldet der Relocator „Ready“ und springt zum Monitor zurück. Das Programm ist nun an gewünschter Stelle lauffähig. Sie können es von dort auch auf Cassette abspeichern (inklusive der Relocator- Informationen). Als Ausgangspunkt für weitere Verschiebung muß aber immer die Anfangsadresse verwendet werden, für die das Programm ursprünglich geschrieben wurde.
Dieses Programm läßt sich natürlich nur dann problemlos durchführen, wenn die Ursprungsprogramme durchsichtig sind und nicht zu viele direkte Sprünge enthalten. (Obwohl das Programmformat immer noch kleiner bleibt als bei TDL) .
Deshalb ein Aufruf an alle Leser, die Programme veröffentlichen:
JR MARK 5 . . MARK 5 JR ENDE etc.)
Ans Programm anhängen DEFM „RELO“ und dann die Marken +Displacement, die zu verschiebende Adressen enthalten. Normalerweise ist das Displacement „+1“ z.B. bei
CALL CD Adresse JP C3 Adresse LD HL 21 Adresse
Nur bei Verwendung der Index-Register wird es „+2“
z.B. bei
LD IX DD21 Adresse
Vergessen Sie nicht, die „Ende“- Information 00 00 ! (Assembler: DEFW 0)
Hier als Abschluß das Hex-Dump des Relocators. (Wie gesagt: klein, voll verschieblich und einfach)
Seite 18 von 20 |
---|