![]() |
![]() |
Startseite News   NDR-NKC ![]() ![]() ![]() NKC Emulator Z80 Section ![]() ![]() ![]() 68000 Section ![]() ![]() ![]() ![]() ![]() 8088 Section ![]() ![]() Bussysteme Stromversorgung Input / Output Grafikkarten Speicherkarten Massenspeicher Weitere Baugruppen Projekte Dokumentation Datenblätter Glossar Portraits Links Impressum |
CP/M 68K Programmierkurs - Die BIOS-FunktionenObwohl es technisch möglich ist, geschieht die Kommunikation mit der Hardware unter CP/M in der Regel nicht direkt, sondern über den Umweg über das BIOS (Basic Input Output System). Das BIOS dient zur Anpassung unterschiedlicher Hardware an das standardisierte Betriebssystem, es wird vom Hersteller der Hardware bereitgestellt und in das CP/M System integriert.Themen dieses Kapitels
Hält man sich an die BIOS-Aufrufe, dann können Programme, die auf einem Computer übersetzt wurden, theoretisch auch auf einem anderen Computer zur Ausführung gebracht werden. AufrufkonventionenDie BIOS-Funktionen sind durch fortlaufende Funktionsnummern in Verbindung mit einem TRAP-Befehl des 68000 Prozessors ansprechbar. Die Funktionsnummer wird immer im Register D0 angegeben, eventuell notwendige Parameter in der Regel in den darauffolgenden Registern der CPU. Hier ein einfaches Beispiel, welches einen Buchstaben auf dem Monitor ausgibt.MOVE #4,D0 * Laden der Funktionsnummer für CONOUT MOVE #'A',D1 * ASCII Code des Zeichens A nach D1 laden TRAP #3 * Aufruf der BIOS-Funktion Liste der BIOS FunktionenGenauere Beschreibungen einzelner Funktionen werde ich in den folgenden Kapiteln nach Bedarf erläutern.
TeaserHier ein real funktionierendes Programm, welches bei Aufruf den Inhalt des Bildschirms löscht. Einfach mal eintippen und mit MAKE CLS aus dem vorangegangenen Kapitel übersetzen.****************************************** * Programm zum löschen des Bildschirms ****************************************** CLRSCR EQU 20 * Funktionsnummer im Grundprogramm TEXT * Start des Textsegments, erste Anweisung MOVE #23, D0 * Funktionsnummer für GETGP (siehe oben) TRAP #3 * Aufruf des BIOS MOVE #CLRSCR, D7 * Funktionsnummer für GP setzen JSR $420(A4) * Routine im GP aufrufen RTS * Programmende END * Ende des Quelltextes FazitWie man sieht, ist es nicht wirklich schwer, kleine eigene Programm zu entwickeln, die unter CP/M 68K ablauffähig sind. Bis hierhin haben wir einen einfachen Weg, der es erlaubt alle offiziellen Einsprünge in das Grundprogramm aufzurufen (auch wenn das Beispiel extrem simpel ist).
|