SYSCALL.COM
===========

Kurzbeschreibung: Ermglicht Interruptaufrufe von der DOS-Ebene aus

Ermglicht den Aufruf beliebiger Interrupts von der DOS-Ebene aus.
Dazu knnen Register und Flags zuvor mit den erforderlichen Werten
initialisiert werden. In der Kommandozeile knnen mehrere
Interruptaufrufe angegeben werden. Dabei bleiben dann die durch den
jeweils vorhergehenden Interruptaufruf gesetzten Registerinhalte
erhalten und knnen fr den nachfolgenden Interruptaufruf
weiterverwendet werden. Standardmig ist der Inhalt aller Register
gleich 0. Nach dem Aufruf werden die Inhalte der Register und Flags
zur Standard-Ausgabeeinheit gesendet. Es kann ein beliebiger
Registerinhalt als Exit-Code zurckgegeben werden, der dann z.B. in
Batchdateien mittels ERRORLEVEL abgefragt werden kann.


Aufruf: SYSCALL [Arg=Val [...]]

Arg = Register (AX,BX,CX,DX,AL,AH,BL,BH,CL,CH,DL,DH,BP,SI,DI,ES,DS),
      Flags (O,D,I,S,Z,A,P,C), Interruptaufruf (INT), Returnwert (RET)

Val = Hex-Werte und Registerbezeichnungen fr Register,
      Interruptaufrufe und Returnwert, 0 und 1 fr Flags


Anwendungsbeispiele fr dieses Utility gibt es viele. Sei es, nur mal
schnell mittels Int 21h, Funktion 30h die DOS-Version zu ermitteln,
oder mittels Int 10h, Funktion 1 die Cursorform zu verndern oder
innerhalb von Batch-Dateien mittels Funktion 2 dieses Interrupts den
Cursor zu positionieren oder Tastatureingaben abzufragen...

Es folgt ein konkretes Beispiel, in dem gleich dreimal der Video-
Interrupt 10h des BIOS aufgerufen wird:

syscall ah=f int=10 ah=3 int=10 ax=1300 bl=47 cx=8 es=f000 bp=fff5
        int=10>nul

Hier werden folgende Funktionen aufgerufen:

  1. Funktion 0Fh: Nummer der aktuellen Bildschirmseite nach BH
  2. Funktion 03h: Aktuelle Cursorposition nach DX
  3. Funktion 13h: Ausgabe einer Zeichenkette, hier: das BIOS-Datum

Dieses Beispiel liest das BIOS-Datum aus dem ROM und gibt es in grauer
Schrift auf rotem Hintergrund aus.
