Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
cpm:m80 [2010/08/05 08:51] – angelegt volkerpcpm:m80 [2011/09/30 07:43] (aktuell) – [LIB80] volkerp
Zeile 6: Zeile 6:
  
 Größere Projekte bestehen aus mehreren Assemblerquelldateien. Diese werden einzeln mit M80 übersetzt und anschließend mit dem Linker in eine ausführbare Maschinencode-Datei umgewandelt. Mehrere REL-Dateien können mit LIB80 zu einer Bibliothek *.LIB zusammengefasst werden. Aus einer solchen Bibliothek entnimmt der Linker nur die benötigten Teile, es wird also nicht immer alles dazugelinkt. Größere Projekte bestehen aus mehreren Assemblerquelldateien. Diese werden einzeln mit M80 übersetzt und anschließend mit dem Linker in eine ausführbare Maschinencode-Datei umgewandelt. Mehrere REL-Dateien können mit LIB80 zu einer Bibliothek *.LIB zusammengefasst werden. Aus einer solchen Bibliothek entnimmt der Linker nur die benötigten Teile, es wird also nicht immer alles dazugelinkt.
 +
 +
 +===== SCP: ASM,LINK,LIB =====
 +
 +Unter SCP1520 gab es "gleichwertige" Tools als ASM/LINK/LIB.
 +
 +Eine ausführliche Beschreibung gibt es in
 +
 +  * {{:cpm:asm.pdf|}} SYSTEMHANDBUCH SCP, Anleitung fuer den Programmierer, Teil II - Assemblerprogrammierung
 +
 +Ersetzt man SCP durch CP/M, ASM durch M80 usw., hat man ein sehr gutes Handbuch für das Toolpaket von Microsoft.
 +
 +
 +===== Beispiel =====
  
  
Zeile 12: Zeile 26:
   M80 =DEMO/   M80 =DEMO/
   L80 /P:0100,DEMO,DEMO/N/E   L80 /P:0100,DEMO,DEMO/N/E
 +  
 +:!: Wird der Linker ohne /P: aufgerufen, wird am Codeanfang ein Sprung zum Programmbeginn eingefügt, der Code wird also um 3 Byte länger! Deshalb wird oftmals ein anderer Linker wie LINK 1.31 von Digital Research oder der in der DDR verbreitete Link/MT+ Release 5.5 genutzt, da diese etwas einfacher in der Syntax sind:
 +
 +einfaches Assemblieren und Linken von DEMO.MAC mit LINK:
 +
 +  M80 =DEMO/
 +  LINK DEMO
  
-Neukompilieren von CP/A (Achtunges wird ein anderer Linker genutzt!)+Neukompilieren von CP/A:
  
   M80 BIOS.ERL=BIOS/X   M80 BIOS.ERL=BIOS/X
Zeile 113: Zeile 134:
              *EXP              *EXP
              *^C              *^C
- Listing:    LIB   TRANSUB.LIB/U+ Listing:    LIB 
 +             *TRANSUB.LIB/U
              *TRANSUB/L              *TRANSUB/L
              ^C              ^C
  • cpm/m80.1280998279.txt.gz
  • Zuletzt geändert: 2010/08/04 22:00
  • (Externe Bearbeitung)