ndr-nkc.de
  
Startseite
News
 
NDR-NKC
Geräte Z80
Geräte 68000
Geräte 8088
 
Z80 Section
Baugruppen
ROM's
Software
68000 Section
Baugruppen
ROM's
PASCAL/S
Software
8088 Section
Baugruppen
Downloads
 
Bussysteme
Stromversorgung
Input / Output
Grafikkarten
Speicherkarten
Massenspeicher
Weitere Baugruppen
 
Projekte
 
Dokumentation
Datenblätter
Glossar
Portraits
Links

Impressum

 

Programmiertools für CP/M-68K

AS68 - Der Assembler

Der Assembler dient zum Übersetzen von lesbarem Quellcode in die Maschinensprache des 68000 Mikroprozessors. Bei der Programmierung von Treibern und optimierten Programmen ist der Assembler unersetzbar.

Aufruf des Assemblers

AS68 [-F d:] [-P] [-S d:] [-U] [-L] [-N] [-I] Quelldatei [Objektdatei] [> Listdatei]

Parameter beim Aufruf

-IDient zur Initialisierung des Assemblers auf einem neuen System oder bei geänderter Größe der TPA (Transient Program Area). Durch den Aufruf von AS68 -I AS68INIT wird die Datei AS68SYMB.DAT neu erstellt. Erst danach ist der Assembler einsatzbereit.
-PErzeugt ein Listig auf dem Standard Ausgabegerät (Konsole). Das Listing kann in eine Datei umgelenkt werden. Fehlermeldungen werden immer erzeugt.
-UAlle im Quelltext nicht definierten Symbole werden als globale Referenzen angenommen.
-LÜbersetzt alle Adressen als LONG. Notwendig bei Programmen über 64 kByte Länge oder wenn die TPA nicht in den ersten 64 KByte des Speichers liegt.
-NDeaktiviert die Optimierung von Vorwärtsreferenzen.
-S d:Gibt ein eventuell abweichendes Laufwerk für die Datei AS68SYMB.DAT an. Ohne Angabe der Option wird die Datei auf dem aktuellen Laufwerk erwartet.
-F d:Gibt das Laufwerk für die Ablage von temporären Dateien an. Wenn die Option nicht angegeben wird werden temporäre Dateien auf dem aktuellen Laufwerk angelegt.
QuelldateiDateiname der Quelldatei (Normalerweise mit der Endung .S)
ObjektdateiDateiname der Objektdatei (Normalerweise mit der Endung .O) Wenn kein abweichender Dateiname angegeben ist erhält die Objektdatei den gleichen Namen wie die Quelldatei.
> ListdateiBei gleichzeitiger Angabe der Option -P werden das Listing und die Fehlermeldungen in diese Datei geschrieben. Ohne -P werden nur eventuelle Fehlermeldungen in diese Datei umgelenkt.

Geschwindigkeit

Das Übersetzen von Quelltext ist ein aufwändiger Vorgang und dauert meist recht lange. In jedem Fall ist der Einsatz der RAMDISK sinnvoll. Bei Einsatz einer RAMDISK muss man nur streng darauf achten dass geänderte Dateien regelmäßig auf Diskette gesichert werden.

LO68 - Der Linker

Der Linker vereint eines oder mehrere Objektprogramme in ein ausführbares Programm wobei alle externen Referenzen aufgelöst werden. Er muss auch benutzt werden, wenn eine einzige Objektdatei keine externen Referenzen besitzt. Mehrere Objektdateien werden in der Reihenfolge ihrer Angabe in der Kommandozeile zusammengesetzt. Der Einstiegspunkt des Programs ist die erste Instruktion der ersten Objektdatei.

Aufruf des Linkers

LO68 [-F d:] [-R] [-S] [-I] [-U modname] [-O filename] [-X]
     [-Taddress] [-Daddress] [-Baddress]
     Objektdatei [Objektdatei ...] [> Listdatei]


Parameter beim Aufruf

-F d:Gibt das Laufwerk für die Ablage von temporären Dateien an. Wenn die Option nicht angegeben wird werden temporäre Dateien auf dem aktuellen Laufwerk angelegt.
-RSichert die Bits zur Relokalisierung des Programms. Das gebundene Programm kann an unterschiedlichen Startadressen ausgeführt werden. Solche Programme werden meist mit der Endung.REL übersetzt um dies anzuzeigen.
-SDie Symboltabelle und Bits zu Relokalisierung werden aus dem Programm entfernt um den Umfang der Datei zu reduzieren.
-IEs werden keine Fehlermeldungen für den Überlauf bei 16 Bit Adressen generiert. Diese Option kommt nur zum Tragen, wenn die Quelldatei ohne die Option -L übersetzt wurde.
-XAlle Symbole die mit dem Buchstaben L beginnen werden aus der Symboltabelle entfernt. Dies betrifft in der Regel alle durch Makros intern erzeugten Symbole.
-O filenameBestimmt den Namen der ausführbaren Ausgabedatei. Wenn kein Name angegeben wird bekommt die Ausgabedatei den Namen C.OUT.
-UmodnameLinkt ein Modul einer Bibliothek mit anderen Modulen in der Kommandozeile angegebenen Modulen. Hiermit kann man ein Programm generieren welches nur aus Modulen in Bibliotheken zusammengesetzt ist.
-TaddressAddress bestimmt dem Beginn des TEXT Segments. Der Wert ist eine sedezimale Adresse im Bereich $0 bis $FFFFFF. Diese Option wird benötigt wenn alleinstehende Programm für den Betrieb in ROMs gelingt werden sollen. Die Optionen -T und -Z sind gleichwertig.
-DaddressAddress bestimmt dem Beginn des DATA Segments. Der Wert ist eine sedezimale Adresse im Bereich $0 bis $FFFFFF, Default ist die auf das TEXT Segment folgende Adresse. Diese Option wird benötigt wenn alleinstehende Programm für den Betrieb in ROMs gelingt werden sollen.
-BaddressAddress bestimmt dem Beginn des BSS Segments. Der Wert ist eine sedezimale Adresse im Bereich $0 bis $FFFFFF, Defalt ist die auf das DATA Segment folgende Adresse.
ObjektdateiDateiname(n) einer oder mehrerer durch AS68 erzeugten Objektdateien die zusammen gelingt werden sollen.

RELOC - Der Relokator

Das Programm RELOC erzeugt eine absolut adressierte ausführbare Datei aus einer verschiebbaren ausführbaren Datei. Durch die Ausführung von RELOC wird die Größe der ausführbaren Datei verringert und die Geschwindigkeit erhöht.

Aufruf des Relozierers

RELOC [-Baddress] REL-Name ABS-Name

Parameter beim Aufruf

-BaddressGibt die absolute Adresse an. Wenn keine Adresse angegeben ist wird die niedrigste Adresse der TPA von CP/M als Adresse angenommen.
REL-NameName der Eingabedatei, normalerweise mit der Endung .REL
ABS-NameName der Ausgabedatei, normalerweise mit der Endung .68K

SIZE68 - Das Analysetool

Das Programm SIZE analysiert eine ausführbare verschiebbare oder absolute adressierte Programmdatei.

Aufruf des Tools

SIZE68 filename [filename ...]

Parameter beim Aufruf

FilenameEine oder mehrere zu analysierende Dateien.

Ausgabe des Tools

Für jede in der Kommandozeile angegebene Datei wird der Umfang des Textsegments, Datensegments und BSS Segments sowie die Summe dieser drei Segmente in dezimaler und sedezimaler Schreibweise ausgegeben.

SIZE68.68K:7010+388+3706=11104 (2B60) stack size=0