Text-Version   ·   Grafik-Version   ·   Miniaturbilder   ·   PDF-Version (ganzes Heft)   ·   Inhaltsverzeichnis

 

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:

1. Vermeiden Sie möglichst direkte Sprünge!
(Falls die Distanz für relative Sprünge zu groß wird, kann man Programmteile einfügen, die die Distanz verlängern, z.B............

            JR MARK 5
            .
            .
     MARK 5 JR ENDE etc.)

2. Unterstreichen Sie auf jeden Fall alle Adressen, die bei Verschiebung verändert werden müssen. (Wird ja zum größten Teil schon gemacht.)

3. Komfortabelste Lösung: Hängen Sie die Relocator-Information an Ihre Programme an. Für Anwender eines Assemblers:

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









Der Text wurde mit OCR aus der gescannten Seite erzeugt.