.pl 72 .mt 3 .he ANSCH]TZ/STOTZ SEPTEMBER 1982 # .hm 2 .op                               Schnittstellenbeschreibung                            MOÓ - Anteile .pa Š.he #                   Zeichenweiseò Betrieb                        Deò Strom-Routinå wirä daó jeweiligå Zeicheî }berge                        beî bzw® voî ihò }bernommen® Uí diå Organisatioî deò                        Dateî  ií  eigentlicheî Ger{ô brauchô sicè  deò  Be                        nutzeò nichô zõ k}mmerî (z®  B®  Blockunç usw.)® Deò                        zeichenweiså Betrieâ isô standardm{~iç miô folgendeî                        Treibern/Ger{teî m|glich:                              - Systeí Ein/Ausgabeger{t                               - Tastatur                               - Display                               - Drucker                        Beé  Fehlerî iî deî Routineî wirä CARRÙ ½ ± gesetzt®                        Diå jeweiligå Fehlerr}ckmeldunç wirä iî deî  einzel                        neî Routineî genaueò angegeben.                        ACHTUNG !                        Bestimmtå Progammteilå deó Floppy-¬  V24-¬ sowiå deó                        Bildschirm-Treiberó m}sseî eventuelì vorhandenå  In                        terruptó  sperren®   Abh{ngiç  voî  deí  Inhalô  deó                        Merkeró  werdeî  diå Interruptó beií  Verlasseî  deó                        Treiberó wiedeò zugelassen.                        (Siehå  aucè  MOS-Routinå  "Interruptmerkeò  vorein                        stellen"). .pa Š               Schnittstellå f}ò Command-Outpuô unä Lister               Funktioî CO¬ LO               Aufruf:  Ausgabezeichen RC                           mit Interpretation Sonderzeichen               R}ckgabe:   Meldung Fehler           CARRÙ ½ ±                           Treiberidentifikation    RA wenî CARRÙ ½ 1                           Status                   RÂ ¯ RÃ wenî CARRÙ ½ 1               Bemerkung:  Registeò RÈ ¯ RÌ unä RÄ ¯ RÅ sinä unver{ndert.                           R}ckgabe Status siehe DROPEN                  Schnittstellå f}ò Command-Inpuô               Funktioî CI               Aufrufº -               R}ckgabe:   Eingabezeichen           RA                           Meldung Fehler           CARRÙ ½ 1                           Treiberidentifikation    RA wenî CARRÙ ½ 1                           Status                   RÂ ¯ RÃ wenî CARRÙ ½ 1               Bemerkung:  Registeò RÈ ¯ RÌ unä RÄ ¯ RÅ sinä unver{ndert.               Maî beachte¬  da~ Statuó unä Treiberidentifikatioî nuò g}ltiç               sind¬  wenî CARRÙ gesetzô ist® Andernfalló sinä beidå undefi               niert® Einå Randbedingungs-Fehlerbehandlunç mu~ deshalâ immeò               miô deò CARRÙ - Abfragå ansetzen.               Schnittstelle f}r Reader-Input               Funktion RI               Aufruf:     -               R}ckgabe:   Empfangenes Zeichen      RA               Bemerkung:  Alle Register sind ver{ndert.                           Einstellung Baudrate }ber                           Funktion V24T Initialisieren. .pa Š               Direktå Eing{ngå Kanaltreiber               Funktionen: DISPE¬ TASTE¬ DRUCE               Diå  Funktioneî habeî diå gleichå Schnittstellå wiå  CO¬  CI¬               LO¬ nuò werdeî immeò folgendå Funktioneî ausgef}hrt:                DISPE    ausgebeî  auæ  Displaù  ohnå  Interpretatioî  voî                           Sonderzeichen                TASTE    Tastå voî Tastatuò abholen                DRUCE    Zeicheî auæ Druckeò ausgeben               Stellå Druckeò ein:               Funktion:   DROPEN               Aufruf:     Baud-Rate (Z{hlrate) RÄ ¯ RE                           Druckersteuerbytes   RÂ ¯ RC                           Steuerwort   RL                           Protokoll{nge RH               Druckersteuerbytes:                           BC = 0   keinå Steuerbytes                           BC = Adresse String Steuerbytes                              1. Byte L{nge der Ausgabe                                2. Byte n Byte Ausgabedaten               Steuerwort: RL               Bit 20      1 = Wandlunç · Biô nacè ¸ Biô USASCII                           0 = Wandlunç ¸ Biô nacè · Biô USASCII               Bit 21      0 = ¸ Biô ohnå Parit{t                           1 = ¸ Biô miô geradeò Parit{t               Bit 22      0 = kein Protokoll                           1 = Protokoll: ETX/ACK               Bit 24      0 = warten bis Drucker bereit                           1 = sofort zur}ck, wenn Drucker nicht bereit               Bit 27      0 = ./. 16 Mode                           1 = ./. 1 Mode               R}ckgabe:   Meldung Fehler       CARRY = 1                           Status in B: Bit 21 = 1  Busy¬ wenî Biô 24 = 1                                        Bit 23 = 1  Handshakå Fehler               Bemerkung:  Allå Registeò unä Flagó sinä ver{ndert®                           Wertå f}ò Baud-Ratå (siehe Funktion V24T)                           Protokoll{nge nur massgeblich, wenn Bit 22 = 1. .pa Š               Schnittstelle V24-Treiber               Funktion:   V24T               1. Funktion Initialisieren (01)               Aufruf:     Funktionsnummer          RA                           Baudrate (Z{hlrate)      RD/RE                           Steuerbyte               RC               R}ckgabe:   keine               Tabelle Z{hlrate f}r Baudrate:               Mode        Baud-Rate                Wertå (Registeò RD/RE)                           4800                     0807                           2400                     080E               ./.16       1200                     081B               senden u.    600                     0837               empfangen    300                     086D                            110                     4877                              ./. 1      19200                     081B               nur senden  9600                     0835                .pa Š               Steuerbyte RC:               Bit 20      0 = Wandlung 8 --> 7 Bit USASCII                           1 = Wandlung 7 --> 8 Bit USASCII               Bit 21      0 = ohne Parit{t                           1 = mit Parit{t               Bit 22      0 = mit gerader Parit{t                           1 = mit ungerader Parit{t               Bit 23      0 = 1 Stopbit                           1 = 2 Stopbits               Bit 27      0 = ./. 16 Mode                           1 = ./. 1 Mode               2. Funktion Empfangen (80)               Aufruf:     Funktionsnummer          RA                           Pufferadresse            RB/RC                           L{nge                    RD/RE               R}ckgabe:   L{nge                    RD/RE               3. Funktion Senden (81)               Aufruf:     Funktionsnummer          RA                           Pufferadresse            RB/RC                           L{nge                    RD/RE               R}ckgabe:   L{nge                    RD/RE .pa Š               Switch-Byte               Eó  bestehô  diå M|glichkeiô allå CÏ - Ausgabeî paralleì  auæ               deí Druckeò auszugebeî (Lisô commanä output)®  Dieså Funktioî               wirä miô deí Switch-Bytå gesteuert.               Bit 20 = 0         keiî Ausdruck      Bit 20 = 1                 Ausdruck               Funktion:   SWGET      Switch-Bytå holen                           SWPUT      Switch-Bytå ablegen               Aufruf:     bei SWPUT      Switch-Byte RA                           bei SWGET      Switch-Byte RA               Bemerkung:  Allå andereî Registeò bleibeî unver{ndert. .pa Š                Tastatureingabe¬ Bildschirmanzeigå unä Statusabfrage                   Funktion: CSTS                   Aufruf:    -                   R}ckgabe:  keinå Tastå RÁ ½ 0¬ CARRY=0, ZERO=1                              Tastå RÁ ½ 0FFH, CARRY=0, ZERO=0                   ]bertragungsratenfehleò RÁ ½ 0FFH, CARRY=1                   Bemerkung: Bió auæ RÁ sinä allå Registeò unver{ndert® Diå                              Tastå  wirä nichô verarbeiteô unä mu~ miô  CÉ                              abgeholt werden.                   Eingabå miô gleichzeitigeò Anzeige                   auæ deí Bildschirm                   Funktion:  TI                   Eó  wirä  auæ  eiî  Zeicheî  voí  CI-Stroí  gewarteô  unä                   }bergebeî  miô gleichzeitigeí Ausgebeî deó  Zeichenó  auæ                   deî CO-Strom.                   Aufruf:    -                   R}ckgabe:  Eingabezeichen        RA                              Meldung CARRY=± falló Fehler                              Treiberidentifikation RÁ wenî CARRY=1                              Status RB / RÃ wenî CARRY=1                   Textstring ausgeben                   Funktion:  TXCO                   Aufruf:    Adresså Strinç RÈ ¯ RL                   R}ckgabe:  -                   Bemerkung: RH/RÌ unä RD/RÅ sinä unver{ndert®  Eó wirä eiî                              Strinç  }beò  CÏ ausgegeben®  Deò  Strinç  mu~                              folgendeî Aufbaõ haben:                              1® Bytå L{ngå deò Ausgabe                              2® Bytå î Bytå Ausgabedaten .pa Š               Spezialfunktioneî Display               Funktion:       DISC               Eó  werdeî  Spezialfunktioneî deó  Displayó  aufgerufen®  Diå               genauå  Schnittstellå unä diå Bedeutunç isô deò  Beschreibunç               }beò deî Display-Kanaltreibeò zõ entnehmen.               Eingabå Hexadezimalwerte               Funktion:       EXSTD                    Miô Hilfå eineò Steuertabellå wirä einå Eingabå gesteuert.               Aufruf:         Adresså Steuertabellå RÈ ¯ RL               Aufbaõ Steuertabelle               1. Byte Anzahì einzugebendå Werte               2. + 3. Byte Standardbelegunç ersteò Eingabewert               4. + 5. Byte Standardbelegunç zweiteò Eingabewert               usw.               R}ckgabe:       Ií Stacë eingegebenå Werte¬  letzteò Werô aló                               obersteò Wert.               Bemerkung:      Allå Registeò sinä unver{ndert.                              Eó  werdeî sovielå Wertå eingegebeî wiå angegebeî  sind®  Diå               einzelneî  Wertå  sinä durcè Kommá getrennt®  Solì beé  eineí               Werô  deò  Standardwerô  genommeî  werden¬   sï  wirä  nichts“               eingegeben.               Beispiel:               Tabelle:        5¬ 1234H¬ 1¬ 2¬ 5678H¬ 8               Eingabe:        5¬ 6¬ 3               }bergebene               Werte:          5¬ 6¬ 1¬ 3¬ 5678H¬ 8 .pa Š               Ausgabe Hexadezimalwert               Funktion:      LBYTE               Aufruf:        auszugebendes Byte RA               R}ckgabe:      -               Bemerkung:     Registeò RH/RÌ unä RD/RÅ sinä unver{ndert.               Daó Bytå wirä aló zwei Zeicheî }beò CÏ ausgegeben.               Ausgabå Hexadezimaladresse               Funktion:      LADR               Aufruf:        auszugebendå Adresså RH/RL               R}ckgabe:      -               Bemerkung:     Registeò RH/RÌ unä RD/RÅ sinä unver{ndert.               Diå Adresså wirä aló vieò Zeicheî }beò CÏ ausgegeben.               Ausgabå CR¬ LF               Funktion:      CRLF               Aufruf:        -               R}ckgabe:      -               Bemerkung:     Registeò RH/RÌ unä RD/RÅ sinä unver{ndert.               Eó  werdeî  }beò  CÏ  diå  Zeicheî  CÒ  (0DH©  unä  LÆ  (0AH©               ausgegeben. .pa Š                Wandelroutinen                   ASCIÉ · Biô nacè ASCIÉ ¸ Bit                   Funktion:  CODW78                   Aufruf:    zu wandelndes Zeichen           RA                   R}ckgabe:  gewandeltes Zeichen             RA                   Bemerkung: allå andereî Registeò bleibeî unver{ndert.                   ASCIÉ ¸ Biô nacè ASCIÉ · Bit                   Funktion:  CODW87                   Aufruf:    zu wandelndes Zeichen           RA                   R}ckgabe:  gewandeltes Zeichen             RA                   Bemerkung: allå andereî Registeò bleibeî unver{ndert.                   Hexadezimalzeicheî nacè ASCIÉ - Zeichen                   Funktion:  CONV                   Aufruf:    zu wandelndes Zeichen           RA                   R}ckgabe:  ASCII - Zeichen                 RÁ unä RC                   Bemerkung: allå andereî Registeò bleibeî unver{ndert.                   Eó werdeî nuò diå untersteî vieò Biô deó Registeró iî eiî                   ASCIÉ - Zeicheî gewandelt.                   ASCIÉ - Zeicheî nacè Hexadezimalwert                   Funktion:  NIBBLE                   Aufruf:    ASCII - Zeichen  RA                   R}ckgabe:  Hexawerô iî deî untersteî ´ Biô RA                              CARRÙ ½ ° g}ltigeó Zeichen                              CARRÙ ½ ± keiî Hexadezimalzeichen                   Bemerkung: allå andereî Registeò bleibeî unver{ndert. .pa Š                 Hilfsroutinen                   Registeò RH/RÌ « ± unä Vergleicè miô Registeò RD/RE                   Funktion:  HILO                   Aufruf:    Vergleichswerte RH/RL¬ RD/RE                   R}ckgabe:  -                              CARRY = 1 ZERO = 1 RH/RL = 0                              CARRY = 0  ZERO = 0  RH/RÌ ¼ RD/RE                              CARRY = 0  ZERO = 1  RH/RÌ ½ RD/RE                              CARRY = 1  ZERO = 0  RH/RÌ ¾ RD/RE                   Bemerkung: nuò RÁ isô ver{ndert.                   Bereicè miô Konstantå f}lleî unä Tesô oâ richtig                   gef}llt                                  Funktion:  FILLM                   Aufruf:    Anfangsadresse                  RH/RL                              Endeadresse                     RD/RE                              F}llkonstante                   RC                   R}ckgabe:  Zelle nicht schreibbar         CARRY                   Bemerkung: allå Registeò ver{ndert.                   Bereicè verschieben                   Funktion:  MOVEM                   Aufruf:    Quelladresse                    RH/RL                              Endeadresse                     RD/RE                              Zieladresse                     RB/RC                   R}ckgabe:  -                   Bemerkung: allå Registeò ver{ndert.                   Achtung:   Beé  ]berlappunç  voî  Quell- unä  Zielbereicè                              kanî deò Quellbereicè zerst|rô werden® Eó wirä                              in aufsteigender Richtung umgeladen. .pa Š                   Stackpointeò holeî unä merken                   Funktion:  SPGET                   Aufruf:    -                   R}ckgabe:  Stack Pointer                   RH/RL                   Bemerkung: au~eò RH/RÌ allå Registeò unver{ndert.                   Speicherendeadresså laden                   Funktion:  MEMCK                   Aufruf:    -                   R}ckgabe:  Endeadresse Anwender-Speicher   RH/RL                   Bemerkung: allå andereî Registeò unver{ndert.                   Diå Speicherendeadresså wirä jeweiló beií CP/Í Kaltstarô                   unä Warmstarô getestet.                   Speicherendeadresså setzen                   Funktion:  MEMSET                   Aufruf:    Setzen Ende des Anwender-Speichers RH/RL                   R}ckgabe:  -                   Bemerkung: allå Registeò unver{ndert.                   Randoí - Zahì - laden                   Funktion:  RNDZ                   Aufruf:    -                   R}ckgabe:  Random Zahl                     RA                   Bemerkung: allå andereî Registeò unver{ndert. .pa Š                   Interruptmerker voreinstellen                   Funktion:  IMERK                   Aufruf:    RA Merkerinhalt (00 = DISABLE, FF = ENABLE)                   R}ckgabe:  -                   (Voreinstellungº Disable)                   Floppù - Statuó holen                   Funktion:  FLSTA                   Aufruf:    -                   R}ckgabe:  Floppy-Status              RH/RL                   Bemerkung: ausser RH/RL alle Register unver{ndert.                              Belegung Status, siehe Beschreibung                              Floppy-Treiber.                   Winchester - Status holen                   Funktion:  WISTA                   Aufruf:    -                   R}ckgabe:  Winchester-Status          RH/RL                   Bemerkung: ausser RH/RL alle Register unver{ndert.                              Belegung Status, siehe Beschreibung                              Winchester-Treiber. .pa Š      A N H A N G .pa Š               1® Tabellå deò Funktionsadressen:               ADÒ NAMÅ FUNKTIOÎ               -------------------------------------------------               FE00    Reserviert               FE03   CI      Command Input zeichenweise                            FE06   RI      Reader Input zeichenweise               FE09   CO      Command Output zeichenweise                           FE0C         Reserviert                           FE0F   LO      Listeò Outpuô zeichenweiså               FE12   CSTS    Consolstatuó abfrageî               FE15       Reserviert                                     FE18   TI      Consolå CÉ miô CÏ               FE1B   HILO    HÌ « ± Vergleicè miô DÅ               FE1E   TXCO    Textausgabå }beò CÏ               FE21      Reserviert                 FE24    Reserviert               FE27   FILLM   Bereicè f}lleî               FE2A      Reserviert               FE2E   IMERK   Interruptmerker voreinstellen               FE32      Reserviert               FE36      Reserviert               FE3A   SWGET  Switch - Byte holen               FE3E   SWPUT   Switcè - Bytå setzeî               FE42      Reserviert                                       FE46           Reserviert               FE4A   MEMCK   Speicheradresså holeî               FE4E   MEMSET  Speicheradresså setzeî               FE52   SPGET   Stack-Pointeò holeî unä merkeî               FE55   EXSTD   Eingabå Hexadezimalwertå .pa Š               ADR    NAMÅ FUNKTIOÎ               -------------------------------------------------               FE58           Reservierô               FE5B        Reserviert               FE5E   V24T    V24 Treiber               FE61      Reserviert               FE64   CODW78  Codewandlunç · nacè ¸ biô               FE67   CODW87  Codewandlunç ¸ nacè · biô               FE6A      Reserviert               FE6D Reserviert               FE70   DROPEN  Einstellunç Druckeò               FE73   TASTE   Tastatuò Treibeò               FE76   DISPE   Displaù Treibeò (Zeichen direkt a. Bildschirm)               FE79   DRUCE   Druckeò Treibeò               FE7C   TAIN    Tastatur initialisieren               FE7F   MOVEM   Bereicè verschiebeî               FE82   LBYTE   Hexadezimal-Bytå ausgebeî               FE85   LADR    Hexadezimal-Adresså ausgebeî               FE88   CONV    Hexadezimalwerô nacè ASCII-Zeicheî               FE8B   NIBBLE  ASCII-Zeicheî nacè Hexadezimalwerô               FE8E   CRLF    CR¬ LÆ auæ CÏ ausgebeî               FE91   WINTR   Winchester-Treiber DENTRY               FE94   SWINT   Winchester-Treiber SENTRY               FE9A   DISC    Steuerfunktioî Displaù               FE9D   RNDZ    Randoí - Zahì leseî               FEA1   DENTRY  Eingang Floppytreiber               FEA4   SENTRY  Select-Eingang Floppytreiber               FEA7   FLSTA   Status Floppy-Treiber holen               FEAB   WISTA   Status Winchester-Treiber holen               FEAF   CRTOFF  Offset setzen f}r Cursor positionieren               FEB3   TCODS   Tastencode 7 oder 8 Bit setzen