Betriebssystem

 

 

 

 

SC12 / SC13 und SC23 IPC@CHIP

 

 

 

 

 

DOS API

 

 

 

 

 

DOS API Bemerkungen

 

 

DOS: Dateien öffnen, lesen/schreiben, schliessen

 

 

         Link: RTOS-Betriebssystem original, englisch

 

 


 

 

 

 

 

        

  INT  

  AH  

  Kurzbeschreibung                                                                                    

 

 

 

21h

 

ok

 

 

 

 

0x21

0x00

TASK,  Beende ein Programm

 

 

0x21

0x02

STDIO, ein Zeichen nach 'stdout' ausgeben

 

 

0x21

0x06

STDIO, Holen /Ausgeben eines Zeichens an 'stdin/stdout'

 

 

0x21

0x07

STDIO, direkte Eingabe von 'stdin'

 

 

0x21

0x08

STDIO, direkte Eingabe von 'stdin'

 

 

0x21

0x09

STDIO, einen Strings nach 'stdout' ausgeben

 

 

0x21

0x0B

STDIO, Test ob ein Zeichen an 'stdin' vorliegt

 

 

0x21

0x0E

DRIVE, Setze das aktive Laufwerk, set default drive

 

 

0x21

0x19

DRIVE, Hole das aktive Laufwerk, get current drive

 

 

0x21

0x1A

FILE,     Set disk transfer area address (DTA)

 

 

0x21

0x25

IRQ,      Setze die Zieladresse eines SoftINT

 

 

0x21

0x2A

TIME,    Hole das System-Datum

 

 

0x21

0x2B

TIME,    Setze das System-Datum

 

 

0x21

0x2C

TIME,    Hole die Systemzeit

 

 

0x21

0x2D

TIME,    Setze die Systemzeit

 

 

0x21

0x2F

FILE,     Get disk transfer area address (DTA)

 

 

0x21

0x30

(dummy) Hole die DOS-Version

 

 

0x21

0x31

TASK,  Beende ein Programm und.belasse es im Speicher

 

 

0x21

0x35

IRQ,      Hole die Zieladresse, auf die ein SoftINT zeigt

 

 

0x21

0x36

DRIVE, Hole den freien Speicher eines Laufwerks

 

 

0x21

0x39

FILE,     Erzeuge ein neues Verzeichnis

 

 

0x21

0x3A

FILE,     Lösche ein Verzeichnis

 

 

0x21

0x3B

FILE,     Setze das momentane Arbeitsverzeichnis CWD

 

 

0x21

0x3C

FILE,     Erzeuge eine neue Datei und ein file handle

 

 

0x21

0x3D

FILE,     Öffne eine bestehende Datei über das file handle

 

 

0x21

0x3E

FILE,     Schliesse eine Datei über das file handle

 

 

0x21

0x3F

FILE,     Lese von einer Datei über das file handle

 

 

0x21

0x40

FILE,     Schreibe in eine Datei über das file handle

 

 

0x21

0x41

FILE,     Lösche eine Datei

 

 

0x21

0x42

FILE,     Set current file position über das file handle

 

 

0x21

0x43

FILE,     Hole/ Setze die Datei-Attribute

 

 

0x21

0x44

IOCTL,  Data, codes 0 and 1

 

 

0x21

0x47

FILE,     Hole momentanes Arbeitsverzeichnis CWD

 

 

0x21

0x48

MEM,    alloc - Belege dynamisch Arbeitsspeicher

 

 

0x21

0x49

MEM,    free  - Gebe dynamischen Arbeitsspeicher frei

 

 

0x21

0x4A

MEM,    resize- Belege weiteren Arbeitsspeicher

 

 

0x21

0x4B

TASK,   Führe ein DOS-Programm aus

 

 

0x21

0x4C

TASK,   Beende einen Prozess

 

 

0x21

0x4E

FILE,     Find first file  -Suche den ersten Verzeichniseintrag

 

 

0x21

0x4F

FILE,     Find next file -Suche den nächster Verzeichniseintrag

 

 

0x21

0x50

DEBUG, Debugger Unterstützung

 

 

0x21

0x51

TASK,   Hole die Segmentadresse des PSP

 

 

0x21

0x56

FILE,     Verzeichnis-/ Dateinamen ändern

 

 

0x21

0x57

FILE,     Hole/Setze Zeit und Datum über ein file handle

 

 

0x21

0x58

(dummy) Get/Set memory strategy

 

 

0x21

0x62

TASK,   Hole die Segmentadresse des PSP

 

 

0x21

0x63

(dummy) Get leading byte

 

 

0x21

0x68

FILE,     Schreibe DOS-Buffer zum Laufwerk

 

 

 

 

 

 

 

 

 

 

        

  INT  

  AH  

  Kurzbeschreibung                                                                                    

 

 

 

 

 

B0h

 

 

 

 

 

 

0xB0

0x01

DRIVE: Installiere das externe Laufwerk B

 

 

0xB0

0x02

DRIVE: Entferne das externe Laufwerk B

 

 

0xB0

0x03

DRIVE: Installiere eine Notify-Callback-Funktion

 

 

0xB0

0x04

DRIVE: Deinstalliere die Notify-Callback-Function

 

 

 

 

 

 

 

 

 

 

 

 

 


Bei allen Aufrufen eines Softwareinterrupts stellt die mit INT gekennzeichnete hexadezimale Zahl die Nummer des Softwareinterrupts dar, der aufgerufen werden muss.
Die mit AH gekennzeichnete Zahl muss vor dem Aufruf des Interrupts in das AH-Register der CPU geladen werden. Sie kennzeichnet ein Unterprogramm des Programms, das durch den Softwareinterrupt aufgerufen wird
[siehe z.B. die C-Funktion: int86()]

 

 

 

 

 

 

 

 

nach oben

 

 

 DOS-API Bemerkungen:

Das DOS-Application Programmers Interface, die Anwenderschnittstelle zum Disketten Organisations System, besteht aus einer Sammlung von Unterprogrammen, die sich vorrangig zu der Organisation von Verzeichnissen (Ordnern) und Dateien (Files) auf einem Massenspeicher eignen. Aus alter Tradition sind aber auch einige Funktionen vorhanden, die den Datenfluss über die Standardstreams stdin /stdout betreffen, sowie die Funktionen der DOS-Uhr, mit welchen den bearbeiteten Dateien, Uhrzeit und Datum hinzugefügt werden kann.


Das IPC@CHIP Betriebssystem verfügt nicht über alle Funktionen des hergebrachten DOS. So werden Softwareinterrupts, die nicht aufgeführt sind, auch nicht unterstützt. Wird eine nicht belegte Funktion aufgerufen, erscheint eine Fehlermeldung auf der Konsole. Es können maximal 5 DOS-Tasks gleichzeitig laufen und dabei maximal 10 Dateien öffnen. Dabei sind jeder Task, die von ihr geöffneten Dateien zugeordnet. Keine andere Task kann diese, während sie geöffnet sind, benutzen.


Wie im BIOS sind in der DOS-API des IPC@CHIP einige dummy-Unterprogramm enthalten. Diese werden vom Anwender nicht benötigt, allerdings sind sie zur Erhaltung der Funktionalität von Entwicklungsumgebungen aus den DOS-PC Zeiten notwendig. So können bestimmte Funktionen der statischen Bibliothek, nicht richtig funktionieren, wenn die dummy-Unterprogramme nicht vorhanden sind. Der Kunstgriff bestand darin, die dummy-Unterprogramme im RTOS aufzunehmen und diese Wert zurückgeben zu lassen, die für den Betrieb des IPC unschädlich sind.

 

 

 

 

www.GoBlack.de