The following article was printed in 12'91/1'92 of the magazine „PC AMSTRAD INTERNATIONAL".
|
INLINE
-Anweisung, und haben Sie Schwierigkeiten beim Austesten Ihres Programms?
Hier hilft Ihnen die Prozedur Z80-INFO.
POKE
-Befehl in Zusammenhang mit dem CALL
ist, löst man in TURBO-Pascal mit der INLINE
-Anweisung.
INLINE
-Anweisungen gearbeitet hat, weiß aber auch, wie schwierig und zeitaufwendig es ist, semantische Fehler im Maschinencode zu finden (Semantische Fehler sind Fehler im gedanklichen Aufbau eines Programmes — syntaktische sind dagegen Fehler welche der Grammatik der Sprache widersprechen, die letzteren findet der Compiler bei der Übersetzung).
Eine Fehlersuche ohne Hilfsmittel ist nahezu unmöglich.
INLINE
-Anweisungen nicht.
Hier lassen sich keine zusätzlichen Befehle aus dem Befehlsvorrat von Pascal einfügen.
INLINE
-Generator.
Jetzt kann Ihnen jedoch geholfen werden.
Z80-INFO.INC
ein.
An die zu testenden Stellen plaziert man nun die INLINE
-Anweisung
$cd/Z80_INFO/(*Call Z80_INFO*).
Z80_Info
verzweigt wurde).
Anschließend wird gefragt, ob das Programm abgebrochen oder fortgesetzt werden soll.
Dies ist notwendig, um beispielsweise aus Endlosschleifen herauszukommen, und macht einen RESET fast überflüssig.
Z80_INFO
beansprucht drei Bytes (CALL
-Befehl plus Adresse).
Dies muß bei allen Sprung oder besser Verzweigungsbefehlen berücksichtigt werden.
Eine Empfehlung:
Man schafft an allen möglicherweise zur Registerausgabe interessanten Stellen Platz, indem man drei NOP
s (No operation, Code &00
) einfügt.
Diese können dann bei Bedarf durch den Aufruf von Z80_INFO
ersetzt werden.
Läuft das Programm dann zufriedenstellend, kann man in einem zweiten Anlauf die NOP
s wieder entfernen.
Dabei sollte man darauf achten, daß man die Verzweigungsbefehle wieder um drei Bytes herauf beziehungsweise heruntersetzt.
Hier noch einige Anmerkungen zum Programm:
Z80_INFO
leicht veranschaulichen.
Z80_INFO
zeigt das Programm Z80_DEMO.PAS
.
Viel Spaß bei der Arbeit "hart am Bit".
[Z80-INFO.INC] |
[Z80DEMO.PAS] |
1. | Zur Erzeugung von INLINE-Code gibt es eine Übersicht, die hier zu finden ist. |
Scanned by
Werner Cirsovius
August 2004
© DMV-Verlag