
HiSoft

Bentzung der Assembler-Sprache von Personal Pascal

Hier wird geschildert, wie man Prozeduren und 
Funktionen in Assembler Sprache schreibt und mit Pascal-Programmen
linkt, indem man DevpacST und OSS Personal Pascal verwendet. 
Um Personal-Pascal-kompatible Objekt-Dateien zu generieren, 
mssen Sie die DevpacST Version 2.02 oder sptere verwenden, da 
frhere Versionen nicht kompatibel sind. Sie sollten DRI-Ausgabe-
Code whlen, wie es im Handbuch (Seite 48) beschrieben ist. Fgen 
Sie dannach

     COMMENT PASCAL

in Ihr Programm ein. Dadurch wird GenST angewiesen, das spezielle 
Dateiformat fr Personal Pascal zu erzeugen. Die Deklaration der 
Funktionen und/oder Prozeduren mu mittels der XDEF-Amweisung 
erfolgen, deren Namen mssen in Grobuchstaben erscheinen. Ihre 
Anweisungen sollten in der TEXT-Sektion erfolgen. Globale 
Variablen sollten Sie in der BSS-Sektion plazieren. Versuchen Sie 
nicht, die DATA-Sektion zu verwenden, denn dadurch knnte der 
Linker die Kontrolle verlieren.

Beim Assemblieren auf Diskette wird eine .0-Datei erzeugt. Diese 
ist jedoch nicht identisch mit einer .0-Datei im DRI-Format, denn 
erstere ist nur mit dem Pascal-Linker verwendbar. Sie knnen 
dannach diese Datei als eine zustzliche Link-Datei gebrauchen. 
(Lesen Sie bitte dazu Seite 5-3 in Ihrem Handbuch)

Die Regeln bezglich der von Pascal aufgerufenen Assembler 
Sprache knnen Sie auf den Seiten 6-142 finden.

Hier ist ein knstlich einfaches Beispiel, welches den Gebrauch 
von Parametern oder Return-Werten vermeidet. Es definiert ganz 
einfach eine Prozedur, einen String am Bildschirm unter 
Verwendung von GEMDOS auszugeben:

         opt       l2,c8+    DRI mode, short case sensitive labels

         COMMENT   PASCAL
         xdef      TESTING  declare export (s)
TESTING  move.l    #message,-(a7)
         move.w    #9,-(a7)
         trap      #1
         addq.l    #6,sp
         rts
message  dc.b      'Hello',13,10,0

Diese Funktion sollte in einem Pascal-Programm deklariert werden, 
die mit

PROCEDURE TESTING; EXTERNAL;

aufgerufen werden soll, wobei die .0-Datei von DevpacST als 
zustzliche Link-Datei beim Linken des Hauptprogramms 
spezifiziert ist.    


