Amiga-DOS Handbuch
Total Page:16
File Type:pdf, Size:1020Kb
Markt&fTechnik Commodore-Amiga Inc. BUCH i -Dokumentation zum AMmige Betriebssystem, Version 1.2. sr und Programmierer. AmigaDOS-Handbuch Inhaltsverzeichnis Inhaltsverzeichnis Vorwort 13 Erstes Buch: Das AmigaDOS-Anwender-Handbuch Einführung 17 Die Aktivierung des CLI 17 Das Öffnen eines CLI-Fensters 18 Der Gebrauch des CLI 18 Workbench und CLI — Verwandtschaft und Unterschiede 18 Kapitel 1: AmigaDOS stellt sich vor 21 1.1 Uberblick 21 1.2 Die Handhabung der Tastatur 22 1.3 Alles über Files 23 1.3.1 Die Filenamen 23 1.3.2 Directories anlegen 24 1.3.3 Setzen des aktuellen Directory 26 1.3.4 Benennung des aktuellen Device 27 1.3.5 Dateinotizen anhängen 29 1.3.6 Zum Verständnis von Device-Namen 29 1.3.7 Vereinbarungen zu Directories und logischen Devices 32 1.4 Theorie und Praxis der AmigaDOS-Befehle 35 1.4.1 Befehle im Hintergrund ausführen lassen 35 Inhaltsverzeichnis 1.4.2 Handhabung der EXECUTE-Kommando-Files 36 1.4.3 Ein- und Ausgaberichtungen von Befehlen 36 1.4.4 Unterbrechungen in AmigaDOS 36 1.4.5 Ein Wort zum Befehlsformat 37 1.5 Der Aktualisierungsprozeß 39 1.6 Die gebräuchlichsten Befehle: Eine kleine Übersicht 39 1.6.1 Einführung in einige AmigaDOS-Anweisungen 39 1.6.2 Tip für CLI-Neulinge 40 1.6.3 Zu Beginn 40 1.6.4 Eine Diskette kopieren 41 1.6.5 Eine Diskette formatieren 42 1.6.6 Eine Diskette startfähig machen 42 1.6.7 Eine Diskette umbenennen 43 1.6.8 Das Directory einer Diskette lesen 43 1.6.9 Benutzung des LIST-Befehls 44 1.6.10 Ein File schützen 44 1.6.11 Informationen über eine Diskette lesen 45 1.6.12 Das aktuelle Directory ändern 45 1.6.13 Datum und Zeit neu setzen 46 1.6.14 Das Ergebnis eines Befehls umleiten 46 1.6.15 Ein Textfile auf dem Bildschirm ausgeben 46 1.6.16 Ein File umbenennen 47 1.6.17 Ein File löschen 47 1.6.18 Files kopieren mit zwei Laufwerken 48 1.6.19 Files kopieren mit einem Laufwerk 48 1.6.20 Ein neues Directory einrichten 49 1.6.21 Files auf einer Diskette finden 49 1.6.22 Anweisungen beim Systemstart automatisch durchführen lassen 50 1.6.23 Logische Devices erzeugen 51 1.6.24 Ein neues CLI-Fenster öffnen 52 1.6.25 Ein CLI-Fenster schließen 52 1.6.26 Zum Schluß dieses Abschnittes 53 1.7 Vereinbarungen zum Befehlsteil 53 Kapitel 2: Die AmigaDOS-Befehle 55 2.1 Anwender-Befehle des AmigaDOS 56 2.2 AmigaDOS-Befehle für Programmierer 131 2.3 Alphabetische Kurzübersicht über die AmigaDOS-Befehle 136 Anwender-Befehle 136 Befehle für Programmierer 138 Inhaltsverzeichnis Kapitel 3: ED - Der Bildschirm-Editor 139 3.1 Einfiihrung in den Bildschirm-Editor 139 3.2 Unmittelbare Befehle 141 3.2.1 Die Benutzung des Cursors 141 3.2.2 Text einfiigen 141 3.2.3 Text löschen 143 3.2.4 Scrollen 143 3.2.5 Wiederholung von Anweisungen 144 3.3 Erweiterte Anweisungen 144 3.3.1 'Programmsteuerung 145 3.3.2 Blocksteuerung 146 3.3.3 Verändern der Cursorposition 148 3.3.4 Suchen und Ersetzen 148 3.3.5 Text ändern 150 3.3.6 Wiederholte Befehle 150 3.3.7 Kurzübersicht der ED-Befehle 151 Kapitel 4: EDIT - Der Zeileneditor 155 41 EDIT - Ein zeilenorientierter Texteditor 155 4.1.1 Aufrufen von EDIT 156 4.1.2 EDIT-Kommandos einsetzen 158 4.1.2.1 Die aktuelle Zeile 158 4.1.2.2 Zeilennummern 158 4.1.2.3 Auswahl der aktuellen Zeile 158 4.1.2.4 Qualifikatoren 160 4.1.2.5 Ändern der aktuellen Zeile 161 4.1.2.6 Löschen ganzer Zeilen 162 4.1.2.7 Einfügen neuer Zeilen 163 4.1.2.8 Wiederholen von Befehlen 163 4.1.3 Verlassen von EDIT 164 4.1.4 Ein kombiniertes Beispiel: alle Befehle auf einmal 165 4.2 Vollständige Beschreibung des Zeileneditors 166 4.2.1 Befehlssyntax 167 4.2.1.1 Befehlsnamen 167 4.2.1.2 Argumente 167 4.2.1.3 Zeichenketten 167 4.2.1.4 Mehrfach-Zeichenketten 168 4.2.1.5 Qualifizierte Zeichenketten 168 4.2.1.6 Suchausdrücke 169 4.2.1.7 Zahlen 169 4.2.1.8 Einstellwerte 169 4.2.1.9 Befehlsgruppen 169 Inhaltsverzeichnis 4.2.1.10 Wiederholung der Befehle 169 4.2.2 Programmablauf 170 4.2.2.1 Das Eingabe-Zeichen (Prompt) 170 4.2.2.2 Die aktuelle Zeile 170 4.2.2.3 Zeilennummern 170 4.2.2.4 Qualifizierte Zeichenkette 171 4.2.2.5 Abspeichern der editierten Zeilen 172 4.2.2.6 Handhabung des Dateiendes 172 4.2.3 Funktionelle Einteilung der EDIT-Befehle 172 4.2.3.1 Auswahl einer aktuellen Zeile 173 4.2.3.2 Einfügen und Löschen einer Zeile 174 4.2.4 — Zeilenfenster 175 4.2.4.1 Das operationale Fenster 175 4.2.4.2 Verändern einzelner Zeichen in der aktuellen Zeile 176 4.2.5 Verändern von Zeichenketten in der aktuellen Zeile 177 4.2.5.1 Grundlegende Operationen mit Zeichenketten 177 4.2.5.2 Der Null-String 178 4.2.5.3 Die Zeiger-Variante 178 4.2.5.4 Löschen von Teilen der aktuellen Zeile 179 4.2.6 Weitere Befehle für die aktuelle Zeile 179 4.2.6.1 Trennen und Verbinden von Zeilen 180 4.2.7 Teile der Quelldatei lesen 181 4.2.8 Verwaltung von Befehls-, Eingabe- und Ausgabedateien 182 4.2.8.1 Befehlsdatei 182 4.2.8.2 Eingabedatei 182 4.2.8.3 Ausgabedatei 183 4.2.9 Schleifen 185 4.2.10 Umfassende Operation 185 4.2.10.1 Festlegen von umfassenden Änderungen 185 4.2.10.2 Aufheben von umfassenden Änderungen 186 4.2.10.3 Aufschub umfassender Änderungen 186 4.2.11 Anzeigen des Programmstatus 186 4.2.12 Beenden eines EDIT-Ablaufs 186 4.2.13 Verifizieren der aktuellen Zeile 187 4.2.14 Verschiedenartige Befehle 188 4.2.15 Abbrechen der interaktiven Editierung 189 4.3 Kurzübersicht 189 Inhaltsverzeichnis Zweites Buch: Das AmigaDOS-Programmierer-Handbuch Preferences einsetzen 195 Kapitel 5: Die Programmierung des Amiga 197 5.1 Einführung 197 5.2 Programmentwicklung für den Amiga 197 5.2.1 Zum Beginn 198 5.2.2 Der Aufruf residenter Libraries 198 5.2.3 Erstellen eines ausführbaren Programmes 199 5.3 Ausführen eines Programmes vom CLI aus 199 5.3.1 Grundsätzliches zur Programmierung in Assembler 199 5.3.2 Grundsätzliches zur Programmierung in C 200 5.3.3 Fehlermeldungen der AmigaDOS-Library 200 5.3.4 Beenden eines Programmes 201 5.4 Ausführen eines Programmes von der Workbench 201 5.5 Cross-Development 202 5.5.1 Cross-Development auf einer SUN-Workstation 202 5.5.2 Cross-Development 207 5.5.3 Cross-Development mit anderen Systemen 207 Kapitel 6: Programmieren mit AmigaDOS 209 6.1 Syntax-Vereinbarungen 209 6.1.1 Register-Werte 209 6.1.2 Schreibweise 209 6.1.3 Wahrheitswerte als Ergebnisse 210 6.1.4 Werte 210 6.1.5 Format, Argument und Ergebnis 210 6.2 Die AmigaDOS-Routinen 210 6.2.1 File-Handling 210 6.2.2 Prozeß-Handling 219 6.2.3 Funktionen zum Laden von Programmcode 221 6.3 Kurzübersicht 223 6.3.1 File-Handling 223 6.3.2 Prozeß-Handling 223 6.3.3 Funktionen zum Laden von Files 224 Kapitel 7: Der Makro-Assembler 225 7.1 Einführung zum Mikroprozessor MC 68000 225 7.2 Der Aufruf des Assemblers 227 7.3 Aufbau des Quellcodes 229 Inhaltsverzeichnis 7.3.1 Kommentare 229 7.3.2 Ausführbare Instruktionen 229 7.3.2.1 Das Label-Feld 230 7.3.2.2 Lokale Labels 230 7.3.2.3 Das Opcode-Feld 230 7.3.2.4 Das Operanden-Feld 231 7.3.2.5 Das Kommentar-Feld 231 7.4 Ausdrücke 231 7.4.1 Operatoren 231 7.4.2 Operand/Operator-Kombinationen 231 7.4.3 Symbole 232 7.4.4 Zahlen 233 7.5 Adressierungs-Arten 234 7.6 Verschiedene Befehlstypen 235 77 Direktive 235 7741 Direktiven zur Assembler-Kontrolle: 237 7.7.2 Direktiven zur Symbol-Definition 238 7.7.3 Direktiven zur Daten-Definition 239 7.7.4 Listing-Kontrolle 240 7.7.5 Bedingte Assemblierung 242 7.7.6 Direktiven zu Makros 243 7.7.7 Externe Symbole 244 7.7.8 Allgemeine Direktiven 245 Kapitel 8: Der Linker 247 8.1 Einführung 247 8.2 Zur Anwendung des Linkers 249 8.2.1 Syntax der Befehlszeile 249 8.2.2 WITH-Files 250 8.2.3 Fehler und andere Ausnahmebehandlungen 252 8.2.4 MAP und XREF 253 8.3 Overlays 253 8.3.1 Die OVERLAY-Direktive 254 8.3.2 Symbol-Bezüge 256 8.3.3 Zusätzliche Hinweise 257 8.4 Fehlercodes und -meldungen 258 Anhang: Terminal-Ein- und -Ausgabe auf dem Amiga 259 Einführung 259 Hilfreiche AmigaDOS-Befehle 260 CON:-Tastatur-Eingabe 260 CON:-Bildschirm- Ausgabe 262 10 Inhaltsverzeichnis RAW:-Bildschirm-Ausgabe 262 RAW:-Tastatur-Eingabe 265 Auswahl von RAW:-Ereignissen 266 RAW:-Eingabe-Ereignisse: 266 Drittes Buch: Das technische AmigaDOS-Handbuch Kapitel 9: Das AmigaDOS-File-System 275 9.1 Die AmigaDOS-File-Struktur 275 9.1.1 Der Hauptblock einer Diskette 275 9.1.2 User-Directory-Block 276 9.1.3 Der Header eines Files 278 9.1.4 Der File-List-Block 279 9.1.5 Der Datenblock 279 Kapitel 10: Die Struktur von Binär-Files 281 10.1 Einführung 281 10.1.1 Terminologie 281 10.2 Die Objekt-File 283 10.2.1 hunk_unit 284 10.2.2 hunk_name 285 10.2.3 hunk_code 285 10.2.4 hunk_data 286 10.2.5 hunk_bss 286 10.2.6 hunk_reloc32 287 10.2.7 hunk_reloc16 288 10.2.8 hunk_reloc8 288 10.2.9 hunk_ext 288 10.2.10 hunk_symbol 290 10.2.11 hunk_debug 291 10.2.12 hunk_end 292 10.3 Ladbare Files (Load-Files) 292 10.3.1 hunk_header 293 10.3.2 hunk_overlay 294 10.3.3 hunk_break 295 10.4 Beispiele 296 11 Inhaltsverzeichnis Kapitel 11: Die AmigaDOS-Datenstrukturen 301 11.1 Einführung 301 11.2 Spezielle Datenstrukturen für Prozesse 302 11.3 Globale Datenstruktur 305 11.3.1 Die Info-Substruktur 306 11.4 Speicherverwaltung 308 11.5 Segment-Listen 308 11.6 File-Handles 309 11.7 Locks 309 11.8 Packets 310 1.9 Packet-Typen 312 Kapitel 12: Weiterführende Hinweise für den fortgeschrittenen Entwickler 319 12.1 Überblick über die Modul-Overlay-Tabelle 320 12.1.1 Einen Overlay-Baum 320 12.1.2 _ Beschreibung des Baums 321 12.2 ATOM 323 12.2.1 Das »Problem« 323 12.2.2 Die bisherige Lösung 323 12.2.3 Die ATOM-Lösung 323 12.2.4.