REH NS455 CROSS-ASSEMBLER - VERSION 1.2 - 03.08.89  18:08:21

SETUP-MEN] F]R TERMINAL MIT NS405/455                                 PAGE  1   
C'T TEXT-TERMINAL SOFTWARE V2.2

 0800                   ORG     800H            ; BANK 1
                
                ; T. REH 24.03.89
                
                ; UNTERPROGRAMME IN ANDEREN MODULEN:
                
 000A           INIT    EQU     0AH             ; GESAMTINIT. TERMINAL
 000C           CI      EQU     0CH             ; CONSOLE INPUT IN R3
 000E           CO      EQU     0EH             ; CONSOLE OUTPUT IN R3
 0010           HLOOP   EQU     10H             ; HAUPTSCHLEIFE TERMINAL
 100A           STSET   EQU     100AH           ; STATUSZEILE AUFFRISCHEN
 100C           SDISP   EQU     100CH           ; AUSGABEROUTINE STATUSZEILE
 100E           FFD     EQU     100EH           ; SCHIRM L\SCHEN, HLOOP
 1010           CLRPG1  EQU     1010H           ; TEIL BILDSCHIRM L\SCHEN
 1012           LDSEND  EQU     1012H           ; BILD-ENDADRESSE NACH A
 1014           EDISP   EQU     1014H           ; TERMINAL-EMULATION ANZEIGEN
 1016           NDISP   EQU     1016H           ; NATIONALIT[T ANZEIGEN
 1018           BDISP   EQU     1018H           ; BAUDRATE ANZEIGEN
 101C           CDISP   EQU     101CH           ; SPALTENZAHL ANZEIGEN
 101E           RDISP   EQU     101EH           ; ZEILENZAHL ANZEIGEN
                
                ; EINZIGER EINSPRUNG IN DIESES MODUL:
                ; SETUP-MODUS : MEN] ZUM [NDERN DER TERMINALEINSTELLUNGEN
                
 0800 244E      SETUP:  JMP     SETUP1          ; INS SETUP-MEN] EINSPRINGEN
                
                ; HILFSROUTINEN F]R SETUP-MEN]. DOWN2 UND UP2 BEWEGEN DEN CURSOR
                ; JEWEILS AM LINKEN BILDRAND UM 2 ZEILEN NACH OBEN BZW. UNTEN.
                
 0802 B934      DOWN2:  MOV     R1,#ROWLEN
 0804 9B                MOV     A,CURS
 0805 61                ADD     A,@R1
 0806 61                ADD     A,@R1           ; CURSOR 2 ZEILEN RUNTER
 0807 8B                MOV     CURS,A
 0808 83                RET
                
 0809 B934      UP2:    MOV     R1,#ROWLEN
 080B F1                MOV     A,@R1
 080C 61                ADD     A,@R1           ; 2*ROWLEN
 080D A9                MOV     R1,A
 080E 0A        UP21:   DEC     CURS
 080F E90E              DJNZ    R1,UP21         ; CURSOR 2 ZEILEN RAUF
 0811 83                RET
                
                ; HILFSROUTINEN ZUR AUSWAHL DER MEN]PUNKTE
                ; FREVRS SCHALTET FELD (6 ZEICHEN) AUF REVERS, FNORM SCHALTET
                ; REVERS WIEDER AB.
                
 0812 9B        FREV18: MOV     A,CURS
 0813 0312              ADD     A,#18           ; SPALTE POSITIONIEREN
 0815 041A              JMP     FREVRS
 0817 9B        FREV50: MOV     A,CURS
 0818 0332              ADD     A,#50           ; SPALTE POSITIONIEREN
 081A 89        FREVRS: MOVL    R1,A            ; R1 ALS ZEIGER
 081B BA06              MOV     R2,#6           ; R2 ALS Z[HLER
 081D 91        FBLOOP: MOVX    A,@R1           ; ZEICHEN HOLEN
 081E A8                MOV     R0,A            ; KOPIE NACH R0 (NUR ZEICHEN)
 081F E2                MOV     A,HACC          ; ATTRIBUTE HOLEN
 0820 53FE              ANL     A,#0FEH         ; REVERS SETZEN
 0822 C2                MOV     HACC,A          ; NEUE ATTRIBUTE
 0823 F8                MOV     A,R0            ; ZEICHEN WIEDERHOLEN
 0824 81                MOVX    @R1,A           ; KOMPLETT WIEDER ABSPEICHERN
 0825 39                INCL    R1
 0826 EA1D              DJNZ    R2,FBLOOP       ; ALLE 6 ZEICHEN
 0828 83                RET
                
REH NS455 CROSS-ASSEMBLER - VERSION 1.2 - 03.08.89  18:08:21

SETUP-MEN] F]R TERMINAL MIT NS405/455                                 PAGE  2   
C'T TEXT-TERMINAL SOFTWARE V2.2

 0829 9B        FNOR18: MOV     A,CURS
 082A 0312              ADD     A,#18           ; SPALTE (19) POS.
 082C 0431              JMP     FNORM
 082E 9B        FNOR50: MOV     A,CURS
 082F 0332              ADD     A,#50           ; SPALTE POSITIONIEREN
 0831 89        FNORM:  MOVL    R1,A            ; R1 ALS ZEIGER
 0832 BA06              MOV     R2,#6           ; R2 ALS Z[HLER
 0834 91        FNLOOP: MOVX    A,@R1           ; ZEICHEN HOLEN
 0835 A8                MOV     R0,A            ; KOPIE NACH R0 (NUR ZEICHEN)
 0836 E2                MOV     A,HACC          ; ATTRIBUTE HOLEN
 0837 4301              ORL     A,#1            ; REVERS R]CKSETZEN
 0839 C2                MOV     HACC,A          ; NEUE ATTRIBUTE
 083A F8                MOV     A,R0            ; ZEICHEN WIEDERHOLEN
 083B 81                MOVX    @R1,A           ; KOMPLETT WIEDER ABSPEICHERN
 083C 39                INCL    R1
 083D EA34              DJNZ    R2,FNLOOP       ; ALLE 6 ZEICHEN
 083F 83                RET
                
                ; DIE FOLGENDEN ROUTINEN SCHREIBEN DEN AKTUELLEN STAND
                ; DER PARAMETER IN DIE DAF]R VORGESEHENEN FELDER.
                
 0840 BB13      MTMOD:  MOV     R3,#19          ; SPALTE-1
 0842 9B                MOV     A,CURS          ; ZEILENANFANG
 0843 E5                SEL     MB2
 0844 1414              CALL    EDISP           ; EMULATION SCHREIBEN
 0846 D5                SEL     MB1
 0847 83                RET
                
 0848 BB16      MTCOL:  MOV     R3,#22          ; SPALTE-1
 084A 9B                MOV     A,CURS          ; ZEILENANFANG
 084B E5                SEL     MB2
 084C 141C              CALL    CDISP           ; SPALTENZAHL ANZEIGEN
 084E D5                SEL     MB1
 084F 83                RET
                
 0850 BB16      MTROW:  MOV     R3,#22          ; SPALTE-1
 0852 9B                MOV     A,CURS          ; ZEILENANFANG
 0853 E5                SEL     MB2
 0854 141E              CALL    RDISP           ; ZEILENZAHL ANZEIGEN
 0856 D5                SEL     MB1
 0857 83                RET
                
 0858 BB15      MTNAT:  MOV     R3,#21          ; SPALTE-1
 085A 9B                MOV     A,CURS          ; ZEILENANFANG
 085B E5                SEL     MB2
 085C 1416              CALL    NDISP           ; AUSGEBEN
 085E D5                SEL     MB1
 085F 83                RET
                
 0860 B938      MTSTAT: MOV     R1,#REG4
 0862 F1                MOV     A,@R1
 0863 BAB8              MOV     R2,#LOW(AN)     ; R2 VORBELEGEN
 0865 F269              JB7     MTSTAN          ; AN ODER AUS ?
 0867 BABE              MOV     R2,#LOW(AUS)    ; TEXTZEIGER GESETZT
 0869 BB12      MTSTAN: MOV     R3,#18          ; SPALTE-1
 086B C4FD              JMP     MDISP6          ; AN ODER AUS
                
 086D BAB8      MTCTL:  MOV     R2,#LOW(AN)     ; ZEIGER VORBELEGEN
 086F FF                MOV     A,R7            ; BOOLEAN FLAG
 0870 3274              JB1     MTCTL1
 0872 BABE              MOV     R2,#LOW(AUS)
 0874 BB12      MTCTL1: MOV     R3,#18          ; SPALTE-1
 0876 C4FD              JMP     MDISP6          ; AN ODER AUS
                
 0878 B938      MTGRO:  MOV     R1,#REG4
 087A F1                MOV     A,@R1
REH NS455 CROSS-ASSEMBLER - VERSION 1.2 - 03.08.89  18:08:21

SETUP-MEN] F]R TERMINAL MIT NS405/455                                 PAGE  3   
C'T TEXT-TERMINAL SOFTWARE V2.2

 087B BA9A              MOV     R2,#LOW(BLOCK)  ; R2 VORBELEGEN
 087D 5281              JB2     MTGRO1
 087F BA94              MOV     R2,#LOW(STRICH)
 0881 BB12      MTGRO1: MOV     R3,#18          ; SPALTE-1
 0883 C4FD              JMP     MDISP6
                
 0885 BABE      MTART:  MOV     R2,#LOW(AUS)    ; VORBELEGEN FALLS AUS
 0887 FF                MOV     A,R7            ; BOOLEAN FLAG
 0888 7293              JB3     MTART1          ; CURSOR AUS
 088A B938              MOV     R1,#REG4
 088C F1                MOV     A,@R1
 088D BAA6              MOV     R2,#LOW(RUHEND)
 088F 3293              JB1     MTART1          ; RUHEND ODER BLINKEND
 0891 BAA0              MOV     R2,#LOW(BLINK)
 0893 BB12      MTART1: MOV     R3,#18
 0895 C4FD              JMP     MDISP6          ; AUSGEBEN
                
 0897 B938      MTREV:  MOV     R1,#REG4        ; REVERSE-MODUS AUSGEBEN
 0899 F1                MOV     A,@R1
 089A BAC4              MOV     R2,#LOW(HELL)   ; VORBELEGEN
 089C 72A0              JB3     MTREV1
 089E BACA              MOV     R2,#LOW(DUNKEL)
 08A0 BB32      MTREV1: MOV     R3,#50          ; SPALTE-1
 08A2 C4FD              JMP     MDISP6          ; AN BZW. AUS
                
 08A4 B933      SRCHAT: MOV     R1,#MASK7
 08A6 F1                MOV     A,@R1           ; DERZEITIGE MASK7
 08A7 AB                MOV     R3,A
 08A8 BACF              MOV     R2,#LOW(MTATB1) ; TABELLENZEIGER
 08AA BC04              MOV     R4,#4           ; Z[HLER
 08AC FA        SRCHA1: MOV     A,R2
 08AD B3                MOVP    A,@A            ; VERGLEICHSWERT
 08AE DB                XRL     A,R3            ; MIT ISTWERT VERGLEICHEN
 08AF C6B7              JZ      SRCHAX          ; GEFUNDEN
 08B1 1A                INC     R2
 08B2 ECAC              DJNZ    R4,SRCHA1       ; UND WEITER
 08B4 CA                DEC     R2              ; ZEIGER AUF 'AUS'
 08B5 B1FF              MOV     @R1,#0FFH       ; MASKE AUSSCHALTEN
 08B7 83        SRCHAX: RET
                
 08B8 14A4      MCHATT: CALL    SRCHAT          ; ALTE MASK7 ERKENNEN
 08BA FA                MOV     A,R2            ; ALTE TABELLENADRESSE
 08BB 0331              ADD     A,#0-LOW(MTATB1) ; AUF TABELLE BEZIEHEN
 08BD 17                INC     A               ; ERH\HEN
 08BE 5303              ANL     A,#3            ; MASKIEREN
 08C0 03CF              ADD     A,#LOW(MTATB1)  ; POINTER AUF TABELLE
 08C2 B3                MOVP    A,@A            ; NEUE MASKE
 08C3 A1                MOV     @R1,A           ; ABSPEICHERN, DANN ANZEIGEN
                
 08C4 14A4      MTATT:  CALL    SRCHAT          ; MASK7 ERKENNEN
 08C6 FA        MTATT2: MOV     A,R2
 08C7 0304              ADD     A,#4            ; AUF ZWEITE TABELLE GEHEN
 08C9 B3                MOVP    A,@A            ; TEXTZEIGER HOLEN
 08CA AA                MOV     R2,A
 08CB BB32              MOV     R3,#50
 08CD C4FD              JMP     MDISP6
                
 08CF FEFBDFFF  MTATB1: DB      0FEH,0FBH,0DFH,0FFH
 08D3 ACA0B2BE          DB      REVERS,BLINK,UNDERL,AUS
                
 08D7 B939      MTWLEN: MOV     R1,#REG5
 08D9 F1                MOV     A,@R1
 08DA BAD0              MOV     R2,#LOW(BIT8)   ; TEXTZEIGER VORBELEGEN
 08DC 12E0              JB0     MTWL8           ; 7/8 BIT ?
 08DE BAD5              MOV     R2,#LOW(BIT7)
 08E0 BB33      MTWL8:  MOV     R3,#51          ; SPALTE-1
REH NS455 CROSS-ASSEMBLER - VERSION 1.2 - 03.08.89  18:08:21

SETUP-MEN] F]R TERMINAL MIT NS405/455                                 PAGE  4   
C'T TEXT-TERMINAL SOFTWARE V2.2

 08E2 C4F9              JMP     MDISP5          ; 7 BIT / 8 BIT
                
 08E4 BB33      MTBAUD: MOV     R3,#51          ; SPALTE-1
 08E6 9B                MOV     A,CURS          ; ZEILENANFANG
 08E7 E5                SEL     MB2
 08E8 1418              CALL    BDISP           ; AUSGEBEN
 08EA D5                SEL     MB1
 08EB 83                RET
                
 08EC B93A      MTSTOP: MOV     R1,#REG6
 08EE F1                MOV     A,@R1
 08EF BADA              MOV     R2,#LOW(BIT2)   ; ZEIGER VORBELEGEN
 08F1 12F5              JB0     MTSTP1
 08F3 BADF              MOV     R2,#LOW(BIT1)
 08F5 BB33      MTSTP1: MOV     R3,#51          ; SPALTE-1
 08F7 C4F9              JMP     MDISP5          ; 1 ODER 2 BIT
                
 08F9 B93A      MTPAR:  MOV     R1,#REG6
 08FB F1                MOV     A,@R1
 08FC BABF              MOV     R2,#LOW(AUS+1)  ; VORBELEGEN FALLS AUS
 08FE 77                RR      A
 08FF 67                RRC     A               ; ENABLE -> CARRY
 0900 E608              JNC     MTPARX          ; DISABLE
 0902 5303              ANL     A,#3            ; 2 BIT F]R PARITY-MODE
 0904 030C              ADD     A,#LOW(MTPTAB)
 0906 B3                MOVP    A,@A            ; ZEIGER HOLEN
 0907 AA                MOV     R2,A
 0908 BB33      MTPARX: MOV     R3,#51          ; SPALTE 50
 090A C4F9              JMP     MDISP5          ; AUSGEBEN
                
 090C E9E4EEF3  MTPTAB: DB      ODD,EVEN,MARK,SPACE
                
 0910 B938      MTHAND: MOV     R1,#REG4
 0912 F1                MOV     A,@R1
 0913 BAFC              MOV     R2,#LOW(XOFF)   ; VORBELEGEN
 0915 B219              JB5     MTHDS1
 0917 BAF8              MOV     R2,#LOW(HARD)
 0919 BB34      MTHDS1: MOV     R3,#52          ; SPALTE-1
 091B BC04              MOV     R4,#4           ; NUR 4 ZEICHEN
 091D C4FF              JMP     MDISP           ; HARD ODER SOFT
                
                ; INPUT DIENT ZUR EINGABE VON STEUERZEICHEN:
                ; ERKANNT WERDEN UKEY, DKEY UND CKEY. ALLE ANDEREN CODES WERDEN
                ; IGNORIERT. SETUP-ENDE WIRD IN INTERRUPTROUTINE BEARBEITET. BEI
                ; GEDR]CKTER CKEY-TASTE IST BEI R]CKKEHR EINE 0 IM ACCU (ZERO).
                ; ANSONSTEN IST BEI ERKENNUNG VON UKEY DAS FLAG F0 GESETZT,
                ; WELCHES IN ALLEN ANDEREN F[LLEN 0 IST. BEI SETUP-ENDE ERFOLGT
                ; SPRUNG ]BER SBACK NACH SETPX.
                
 091F 85        INPUT:  CLR     F0
 0920 FF        INPUT1: MOV     A,R7            ; BOOLEAN FLAG
 0921 37                CPL     A
 0922 5245              JB2     SBACK           ; NICHT MEHR SETUP: ENDE
 0924 D220              JB6     INPUT1          ; WARTEN AUF TFLAG
 0926 FF                MOV     A,R7
 0927 53BF              ANL     A,#0BFH         ; TFLAG R]CKSETZEN
 0929 AF                MOV     R7,A
 092A B831              MOV     R0,#TBUFF
 092C F0                MOV     A,@R0
 092D 03FB              ADD     A,#-UKEY        ; TESTEN AUF ^E (UKEY)
 092F D634              JNZ     INPUT2          ; KEIN ^E
 0931 17                INC     A               ; ZERO-FLAG L\SCHEN
 0932 95                CPL     F0              ; F0 SETZEN
 0933 83                RET
 0934 03ED      INPUT2: ADD     A,#UKEY-DKEY    ; TESTEN AUF ^X (DKEY)
 0936 D63A              JNZ     INPUT3          ; KEIN ^X
REH NS455 CROSS-ASSEMBLER - VERSION 1.2 - 03.08.89  18:08:21

SETUP-MEN] F]R TERMINAL MIT NS405/455                                 PAGE  5   
C'T TEXT-TERMINAL SOFTWARE V2.2

 0938 17                INC     A               ; ZERO-FLAG L\SCHEN
 0939 83                RET
 093A 03F9      INPUT3: ADD     A,#DKEY-SKEY    ; TESTEN AUF SETUP (SKEY)
 093C C645              JZ      SBACK           ; ZUR]CK ALS TERMINAL
 093E 03FF              ADD     A,#SKEY-CKEY    ; TESTEN AUF LEERTASTE (CKEY)
 0940 C644              JZ      INPRET          ; RETURN MIT ZERO
 0942 241F              JMP     INPUT           ; SONST ZEICHEN IGNORIEREN
 0944 83        INPRET: RET
                
 0945 35        SBACK:  DIS     II
 0946 15                DIS     XI              ; INTERRUPTS AUS
 0947 C7                MOV     A,PSW
 0948 07                DEC     A
 0949 D7                MOV     PSW,A           ; STACKPOINTER ZUR]CK
 094A 05                EN      XI
 094B 25                EN      II              ; INTERRUPTS WIEDER AN
 094C 8440              JMP     SETPX           ; ZUR]CK ZUR HAUPTSCHLEIFE
                
                ; EINSPRUNG F]R SETUP-MEN]. BILD AUFBAUEN UND WERTE ANZEIGEN.
                
 094E 231F      SETUP1: MOV     A,#1FH
 0950 C2                MOV     HACC,A
 0951 23FF              MOV     A,#0FFH         ; ACCU AUF SPEICHERENDE (1FFF)
 0953 0C                MOV     ENDD,A          ; GLEICHZEITIG DATENENDE
 0954 89                MOVL    R1,A
 0955 9B                MOV     A,CURS
 0956 81                MOVX    @R1,A           ; CURSOR RETTEN
 0957 09                DECL    R1
 0958 9A                MOV     A,HOME
 0959 81                MOVX    @R1,A           ; HOME RETTEN
 095A 09                DECL    R1
 095B FD                MOV     A,R5
 095C 81                MOVX    @R1,A           ; R5 (ZEILE) RETTEN
 095D 09                DECL    R1
 095E FE                MOV     A,R6
 095F 81                MOVX    @R1,A           ; R6 (SPALTE) RETTEN
 0960 230D              MOV     A,#13
 0962 87                MOV     TCP,A           ; TCP AUF CURSOR SIZE
 0963 23F0              MOV     A,#0F0H
 0965 B7                MOV     @TCP,A          ; CURSOR AUSSCHALTEN
 0966 E5                SEL     MB2
 0967 1412              CALL    LDSEND          ; ENDE DES BILDSPEICHERS
 0969 B934              MOV     R1,#ROWLEN
 096B 61                ADD     A,@R1           ; ZEIGER HINTER STATUSZEILE
 096C 0D                MOV     BEGD,A          ; DATENANFANG HIER
 096D 1410              CALL    CLRPG1          ; -> HOME,CURS; SEITE L\SCHEN
 096F D5                SEL     MB1
 0970 BA7D              MOV     R2,#LOW(TITEL)  ; TEXT
 0972 BB02              MOV     R3,#2           ; SPALTE-1
 0974 BC24              MOV     R4,#36          ; ZEICHENANZAHL
 0976 D4EB              CALL    MDSP            ; SCHREIBEN
 0978 B934              MOV     R1,#ROWLEN
 097A 9B                MOV     A,CURS
 097B 61                ADD     A,@R1
 097C 8B                MOV     CURS,A          ; CURSOR 1 ZEILE NACH UNTEN
 097D BA0D              MOV     R2,#LOW(INFO)
 097F BB02              MOV     R3,#2           ; SPALTE-1
 0981 BC2B              MOV     R4,#43          ; ANZAHL
 0983 D4FF              CALL    MDISP           ; INFO SCHREIBEN
 0985 1402              CALL    DOWN2           ; CURSOR 2 ZEILEN NACH UNTEN
 0987 BAA2              MOV     R2,#LOW(MTERM)  ; TEXT
 0989 BB09              MOV     R3,#9           ; SPALTE-1
 098B BC08              MOV     R4,#8           ; 8 ZEICHEN
 098D D4EB              CALL    MDSP
 098F BAB2              MOV     R2,#LOW(MVID)   ; TEXT
 0991 BB2A              MOV     R3,#42          ; SPALTE-1
REH NS455 CROSS-ASSEMBLER - VERSION 1.2 - 03.08.89  18:08:21

SETUP-MEN] F]R TERMINAL MIT NS405/455                                 PAGE  6   
C'T TEXT-TERMINAL SOFTWARE V2.2

 0993 BC05              MOV     R4,#5           ; 5 ZEICHEN
 0995 D4EB              CALL    MDSP
 0997 1402              CALL    DOWN2           ; CURSOR 2 AB
 0999 BAC6              MOV     R2,#LOW(MEMU)
 099B BB02              MOV     R3,#2           ; SPALTE-1
 099D BC09              MOV     R4,#9
 099F D4EB              CALL    MDSP            ; 'EMULATION'
 09A1 1440              CALL    MTMOD           ; TERMINAL-MODE AUSGEBEN
 09A3 BA56              MOV     R2,#LOW(MREV)
 09A5 BB22              MOV     R3,#34          ; SPALTE-1
 09A7 BC0B              MOV     R4,#11
 09A9 D4FF              CALL    MDISP           ; 'HINTERGRUND'
 09AB 1497              CALL    MTREV           ; AN BZW AUS AUSGEBEN
 09AD 1402              CALL    DOWN2           ; 2 ZEILEN WEITER
 09AF BAD0              MOV     R2,#LOW(MSPA)
 09B1 BB02              MOV     R3,#2           ; SPALTE-1
 09B3 BC07              MOV     R4,#7
 09B5 D4EB              CALL    MDSP            ; 'SPALTEN'
 09B7 1448              CALL    MTCOL           ; SPALTENZAHL AUSGEBEN
 09B9 BA61              MOV     R2,#LOW(MATTR)
 09BB BB22              MOV     R3,#34          ; SPALTE-1
 09BD BC0B              MOV     R4,#11
 09BF D4FF              CALL    MDISP           ; 'ATTR. BIT 7'
 09C1 14C4              CALL    MTATT           ; ATTRIBUT AUSGEBEN
 09C3 1402              CALL    DOWN2           ; 2 ZEILEN WEITER
 09C5 BAD8              MOV     R2,#LOW(MZEI)
 09C7 BB02              MOV     R3,#2           ; SPALTE-1
 09C9 BC06              MOV     R4,#6
 09CB D4EB              CALL    MDSP            ; 'ZEILEN'
 09CD 1450              CALL    MTROW           ; ZEILENZAHL AUSGEBEN
 09CF BAB8              MOV     R2,#LOW(MKOMM)
 09D1 BB26              MOV     R3,#38          ; SPALTE-1
 09D3 BC0D              MOV     R4,#13
 09D5 D4EB              CALL    MDSP            ; 'KOMMUNIKATION'
 09D7 1402              CALL    DOWN2           ; 2 ZEILEN WEITER
 09D9 BADF              MOV     R2,#LOW(MZEICH)
 09DB BB02              MOV     R3,#2           ; SPALTE-1
 09DD BC0B              MOV     R4,#11
 09DF D4EB              CALL    MDSP            ; 'ZEICHENSATZ'
 09E1 1458              CALL    MTNAT           ; ZEICHENSATZ AUSGEBEN
 09E3 BA6C              MOV     R2,#LOW(MLAENG)
 09E5 BB22              MOV     R3,#34          ; SPALTE-1
 09E7 BC09              MOV     R4,#9
 09E9 D4FF              CALL    MDISP           ; 'WORTL[NGE'
 09EB 14D7              CALL    MTWLEN          ; WORTL[NGE AUSGEBEN
 09ED 1402              CALL    DOWN2           ; 2 ZEILEN WEITER
 09EF BA38              MOV     R2,#LOW(MSTAT)
 09F1 BB02              MOV     R3,#2           ; SPALTE-1
 09F3 BC0B              MOV     R4,#11
 09F5 D4FF              CALL    MDISP           ; 'STATUSZEILE'
 09F7 1460              CALL    MTSTAT          ; AN ODER AUS AUSGEBEN
 09F9 BA75              MOV     R2,#LOW(MBAUD)
 09FB BB22              MOV     R3,#34          ; SPALTE-1
 09FD BC08              MOV     R4,#8
 09FF D4FF              CALL    MDISP           ; 'BAUDRATE'
 0A01 14E4              CALL    MTBAUD          ; BAUDRATE AUSGEBEN
 0A03 1402              CALL    DOWN2           ; 2 ZEILEN WEITER
 0A05 BA43              MOV     R2,#LOW(MCTL)
 0A07 BB02              MOV     R3,#2           ; SPALTE-1
 0A09 BC0C              MOV     R4,#12
 0A0B D4FF              CALL    MDISP           ; 'CONTROL MODE'
 0A0D 146D              CALL    MTCTL           ; AN ODER AUS AUSGEBEN
 0A0F BA7D              MOV     R2,#LOW(MSTOP)
 0A11 BB22              MOV     R3,#34          ; SPALTE-1
 0A13 BC08              MOV     R4,#8
 0A15 D4FF              CALL    MDISP           ; 'STOPBITS'
REH NS455 CROSS-ASSEMBLER - VERSION 1.2 - 03.08.89  18:08:21

SETUP-MEN] F]R TERMINAL MIT NS405/455                                 PAGE  7   
C'T TEXT-TERMINAL SOFTWARE V2.2

 0A17 14EC              CALL    MTSTOP          ; 1 ODER 2 BIT AUSGEBEN
 0A19 1402              CALL    DOWN2           ; 2 ZEILEN WEITER
 0A1B BAAB              MOV     R2,#LOW(MCURS)
 0A1D BB0A              MOV     R3,#10          ; SPALTE-1
 0A1F BC06              MOV     R4,#6
 0A21 D4EB              CALL    MDSP            ; 'CURSOR'
 0A23 BA85              MOV     R2,#LOW(MPAR)
 0A25 BB22              MOV     R3,#34          ; SPALTE-1
 0A27 D4FD              CALL    MDISP6          ; 'PARITY'
 0A29 14F9              CALL    MTPAR           ; PARITY-MODUS AUSGEBEN
 0A2B 1402              CALL    DOWN2           ; 2 ZEILEN WEITER
 0A2D BA4F              MOV     R2,#LOW(MGRO)
 0A2F BB02              MOV     R3,#2           ; SPALTE-1
 0A31 BC04              MOV     R4,#4
 0A33 D4FF              CALL    MDISP           ; 'FORM'
 0A35 1478              CALL    MTGRO           ; STRICH/BLOCK AUSGEBEN
 0A37 BA8B              MOV     R2,#LOW(MHAND)
 0A39 BB22              MOV     R3,#34          ; SPALTE-1
 0A3B BC09              MOV     R4,#9
 0A3D D4FF              CALL    MDISP           ; 'HANDSHAKE'
 0A3F 3410              CALL    MTHAND          ; AN ODER AUS AUSGEBEN
 0A41 1402              CALL    DOWN2           ; 2 ZEILEN WEITER
 0A43 BA53              MOV     R2,#LOW(MART)
 0A45 BB02              MOV     R3,#2           ; SPALTE-1
 0A47 BC03              MOV     R4,#3
 0A49 D4FF              CALL    MDISP           ; 'ART'
 0A4B 1485              CALL    MTART           ; BLINK/RUHEND AUSGEBEN
 0A4D A5                CLR     F1              ; FORMAT NOCH UNVER[NDERT
                
                ; ZWEITER TEIL DER SETUP-ANSTEUERUNG:
                ; BEWEGEN DES CURSORS UND [NDERN DER EINSTELLUNGEN.
                
 0A4E 9A        SETP01: MOV     A,HOME
 0A4F 8B                MOV     CURS,A          ; CURSOR IN ECKE OBEN LINKS
 0A50 1402              CALL    DOWN2
 0A52 1402              CALL    DOWN2
 0A54 1402              CALL    DOWN2
 0A56 9B                MOV     A,CURS
 0A57 61                ADD     A,@R1
 0A58 8B                MOV     CURS,A          ; CURSOR 7 ZEILEN NACH UNTEN
                
 0A59 1412      SETP02: CALL    FREV18          ; REVERS AN
 0A5B 341F      STP021: CALL    INPUT           ; ZEICHEN ANNEHMEN
 0A5D 8669              JNF0    STP022          ; KEIN ^E ?
 0A5F 1429              CALL    FNOR18          ; FELD 2 NORMAL
 0A61 BA06              MOV     R2,#6
 0A63 1402      STP02L: CALL    DOWN2
 0A65 EA63              DJNZ    R2,STP02L       ; 12 ZEILEN RUNTER F]R FELD 15
 0A67 8422              JMP     SETP15          ; FELD 15: HANDSHAKE MODE
 0A69 D679      STP022: JNZ     STP023          ; ^X : EIN FELD WEITER
 0A6B B939              MOV     R1,#REG5
 0A6D F1                MOV     A,@R1           ; REG5 ENTH[LT BILDBREITE
 0A6E 0340              ADD     A,#40H          ; OBERSTE 2 BITS INKREMENTIEREN
 0A70 A1                MOV     @R1,A           ; NEUES REG5
 0A71 1448              CALL    MTCOL           ; ANZEIGEN
 0A73 1412              CALL    FREV18          ; WIEDER REVERS
 0A75 A5                CLR     F1
 0A76 B5                CPL     F1              ; F1 SETZEN : FORMAT VER[NDERT
 0A77 445B              JMP     STP021          ; WEITER IN FELD 2
 0A79 1429      STP023: CALL    FNOR18          ; FELD 2 NORMAL
 0A7B 1402              CALL    DOWN2           ; POSITION FELD 3
                
 0A7D 1412      SETP03: CALL    FREV18          ; REVERS AN
 0A7F 341F      STP031: CALL    INPUT           ; ZEICHEN ANNEHMEN
 0A81 8689              JNF0    STP032          ; KEIN ^E ?
 0A83 1429              CALL    FNOR18          ; FELD 3 NORMAL
REH NS455 CROSS-ASSEMBLER - VERSION 1.2 - 03.08.89  18:08:21

SETUP-MEN] F]R TERMINAL MIT NS405/455                                 PAGE  8   
C'T TEXT-TERMINAL SOFTWARE V2.2

 0A85 1409              CALL    UP2             ; ZUR]CK
 0A87 4459              JMP     SETP02
 0A89 D6A0      STP032: JNZ     STP033          ; ^X : EIN FELD WEITER
 0A8B B939              MOV     R1,#REG5
 0A8D F1                MOV     A,@R1           ; REG5 ENTH[LT BILDH\HE
 0A8E 0310              ADD     A,#10H          ; BILDH\HE INKREMENTIEREN
 0A90 5330              ANL     A,#30H          ; NUR NEUE BILDH\HE
 0A92 AA                MOV     R2,A            ; NACH R2
 0A93 F1                MOV     A,@R1           ; ALTES REG5
 0A94 53CF              ANL     A,#0CFH         ; ALLES AUSSER ZEILEN
 0A96 4A                ORL     A,R2            ; NEUE ZEILENZAHL EINSETZEN
 0A97 A1                MOV     @R1,A           ; NEUES REG5
 0A98 1450              CALL    MTROW           ; ANZEIGEN
 0A9A 1412              CALL    FREV18          ; WIEDER REVERS
 0A9C A5                CLR     F1
 0A9D B5                CPL     F1              ; F1 SETZEN : FORMAT VER[NDERT
 0A9E 447F              JMP     STP031          ; WEITER IN FELD 3
 0AA0 1429      STP033: CALL    FNOR18          ; FELD 3 NORMAL
 0AA2 1402              CALL    DOWN2           ; POSITION FELD 4
                
 0AA4 1412      SETP04: CALL    FREV18          ; REVERS AN
 0AA6 341F      STP041: CALL    INPUT           ; ZEICHEN ANNEHMEN
 0AA8 86B0              JNF0    STP042          ; KEIN ^E ?
 0AAA 1429              CALL    FNOR18          ; FELD 4 NORMAL
 0AAC 1409              CALL    UP2             ; SONST ZUR]CK
 0AAE 447D              JMP     SETP03
 0AB0 D6C5      STP042: JNZ     STP043          ; ^X : EIN FELD WEITER
 0AB2 B939              MOV     R1,#REG5
 0AB4 F1                MOV     A,@R1           ; REG5 ENTH[LT ZEICHENSATZ
 0AB5 0302              ADD     A,#2            ; ZEICHENSATZ INKREMENTIEREN
 0AB7 530E              ANL     A,#0EH          ; MASKIEREN
 0AB9 AA                MOV     R2,A            ; NACH R2
 0ABA F1                MOV     A,@R1           ; ALTES REG5
 0ABB 53F1              ANL     A,#0F1H         ; ALLES AUSSER ZEICHENSATZ
 0ABD 4A                ORL     A,R2            ; NEUEN ZEICHENSATZ EINSETZEN
 0ABE A1                MOV     @R1,A           ; NEUES REG5
 0ABF 1458              CALL    MTNAT           ; ANZEIGEN
 0AC1 1412              CALL    FREV18          ; WIEDER REVERS
 0AC3 44A6              JMP     STP041          ; WEITER IN FELD 4
 0AC5 1429      STP043: CALL    FNOR18          ; FELD 4 NORMAL
 0AC7 1402              CALL    DOWN2           ; POSITION FELD 5
                
 0AC9 1412      SETP05: CALL    FREV18          ; REVERS AN
 0ACB 341F      STP051: CALL    INPUT           ; ZEICHEN ANNEHMEN
 0ACD 86D5              JNF0    STP052          ; KEIN ^E ?
 0ACF 1429              CALL    FNOR18          ; FELD 5 NORMAL
 0AD1 1409              CALL    UP2             ; SONST ZUR]CK
 0AD3 44A4              JMP     SETP04
 0AD5 D6E3      STP052: JNZ     STP053          ; ^X : EIN FELD WEITER
 0AD7 B938              MOV     R1,#REG4
 0AD9 F1                MOV     A,@R1           ; REG4 ENTH[LT STATUS AN/AUS
 0ADA D380              XRL     A,#80H          ; BIT INVERTIEREN
 0ADC A1                MOV     @R1,A           ; NEUES REG4
 0ADD 1460              CALL    MTSTAT          ; ANZEIGEN
 0ADF 1412              CALL    FREV18          ; WIEDER REVERS
 0AE1 44CB              JMP     STP051          ; WEITER IN FELD 5
 0AE3 1429      STP053: CALL    FNOR18          ; FELD 5 NORMAL
 0AE5 1402              CALL    DOWN2           ; POSITION FELD 6
                
 0AE7 1412      SETP06: CALL    FREV18          ; REVERS AN
 0AE9 341F      STP061: CALL    INPUT           ; ZEICHEN ANNEHMEN
 0AEB 86F3              JNF0    STP062          ; KEIN ^E ?
 0AED 1429              CALL    FNOR18          ; FELD 6 NORMAL
 0AEF 1409              CALL    UP2             ; SONST ZUR]CK
 0AF1 44C9              JMP     SETP05
 0AF3 C6F7      STP062: JZ      STP069
REH NS455 CROSS-ASSEMBLER - VERSION 1.2 - 03.08.89  18:08:21

SETUP-MEN] F]R TERMINAL MIT NS405/455                                 PAGE  9   
C'T TEXT-TERMINAL SOFTWARE V2.2

 0AF5 6401              JMP     STP063          ; ^X: EIN FELD WEITER
 0AF7 FF        STP069: MOV     A,R7            ; BOOLEAN FLAG: CTL MODE
 0AF8 D302              XRL     A,#2            ; BIT INVERTIEREN
 0AFA AF                MOV     R7,A            ; NEUES BOOLEAN FLAG
 0AFB 146D              CALL    MTCTL           ; ANZEIGEN
 0AFD 1412              CALL    FREV18          ; WIEDER REVERS
 0AFF 44E9              JMP     STP061          ; WEITER IN FELD 6
 0B01 1429      STP063: CALL    FNOR18          ; FELD 6 NORMAL
 0B03 1402              CALL    DOWN2
 0B05 1402              CALL    DOWN2           ; POSITION FELD 7
                
 0B07 1412      SETP07: CALL    FREV18          ; REVERS AN
 0B09 341F      STP071: CALL    INPUT           ; ZEICHEN ANNEHMEN
 0B0B 8615              JNF0    STP072          ; KEIN ^E ?
 0B0D 1429              CALL    FNOR18          ; FELD 7 NORMAL
 0B0F 1409              CALL    UP2             ; SONST ZUR]CK
 0B11 1409              CALL    UP2
 0B13 44E7              JMP     SETP06
 0B15 D623      STP072: JNZ     STP073          ; ^X : EIN FELD WEITER
 0B17 B938              MOV     R1,#REG4
 0B19 F1                MOV     A,@R1           ; REG4 ENTH[LT CURSOR-SIZE
 0B1A D304              XRL     A,#4            ; BIT INVERTIEREN
 0B1C A1                MOV     @R1,A           ; NEUES REG4
 0B1D 1478              CALL    MTGRO           ; ANZEIGEN
 0B1F 1412              CALL    FREV18          ; WIEDER REVERS
 0B21 6409              JMP     STP071          ; WEITER IN FELD 7
 0B23 1429      STP073: CALL    FNOR18          ; FELD 7 NORMAL
 0B25 1402              CALL    DOWN2           ; POSITION FELD 8
                
 0B27 1412      SETP08: CALL    FREV18          ; REVERS AN
 0B29 341F      STP081: CALL    INPUT           ; ZEICHEN ANNEHMEN
 0B2B 8633              JNF0    STP082          ; KEIN ^E ?
 0B2D 1429              CALL    FNOR18          ; FELD 8 NORMAL
 0B2F 1409              CALL    UP2             ; SONST ZUR]CK
 0B31 6407              JMP     SETP07
 0B33 D64A      STP082: JNZ     STP085          ; ^X : EIN FELD WEITER
 0B35 FF                MOV     A,R7            ; BOOLEAN FLAG
 0B36 7240              JB3     STP083          ; CURSOR OFF ? --> ON
 0B38 B938              MOV     R1,#REG4
 0B3A F1                MOV     A,@R1           ; REG4 ENTH[LT CURSOR-ART
 0B3B D302              XRL     A,#2            ; BIT INVERTIEREN
 0B3D A1                MOV     @R1,A           ; NEUES REG4
 0B3E 3244              JB1     STP084
 0B40 FF        STP083: MOV     A,R7
 0B41 D308              XRL     A,#8            ; CURSOR ON <--> OFF
 0B43 AF                MOV     R7,A
 0B44 1485      STP084: CALL    MTART           ; ANZEIGEN
 0B46 1412              CALL    FREV18          ; WIEDER REVERS
 0B48 6429              JMP     STP081          ; WEITER IN FELD 8
 0B4A 1429      STP085: CALL    FNOR18          ; FELD 8 NORMAL
 0B4C 9A                MOV     A,HOME
 0B4D 8B                MOV     CURS,A          ; CURSOR HOME
 0B4E 1402              CALL    DOWN2
 0B50 1402              CALL    DOWN2
 0B52 9B                MOV     A,CURS
 0B53 61                ADD     A,@R1
 0B54 8B                MOV     CURS,A          ; 5 ZEILEN TIEFER: FELD 9
                
 0B55 1417      SETP09: CALL    FREV50          ; REVERS AN
 0B57 341F      STP091: CALL    INPUT           ; ZEICHEN ANNEHMEN
 0B59 8665              JNF0    STP092          ; KEIN ^E ?
 0B5B 142E              CALL    FNOR50          ; FELD 9 NORMAL
 0B5D BA08              MOV     R2,#8
 0B5F 1402      STP09L: CALL    DOWN2
 0B61 EA5F              DJNZ    R2,STP09L       ; 16 ZEILEN RUNTER: FELD 8
 0B63 6427              JMP     SETP08
REH NS455 CROSS-ASSEMBLER - VERSION 1.2 - 03.08.89  18:08:21

SETUP-MEN] F]R TERMINAL MIT NS405/455                                 PAGE 10   
C'T TEXT-TERMINAL SOFTWARE V2.2

 0B65 D673      STP092: JNZ     STP093          ; ^X : EIN FELD WEITER
 0B67 B938              MOV     R1,#REG4
 0B69 F1                MOV     A,@R1           ; REG4 ENTH[LT REVVID
 0B6A D308              XRL     A,#8            ; BIT INVERTIEREN
 0B6C A1                MOV     @R1,A           ; NEUES REG4
 0B6D 1497              CALL    MTREV           ; ANZEIGEN
 0B6F 1417              CALL    FREV50          ; WIEDER REVERS
 0B71 6457              JMP     STP091          ; WEITER IN FELD 9
 0B73 142E      STP093: CALL    FNOR50          ; FELD 9 NORMAL
 0B75 1402              CALL    DOWN2           ; POSITION FELD 10
                
 0B77 1417      SETP10: CALL    FREV50          ; REVERS AN
 0B79 341F      STP101: CALL    INPUT           ; ZEICHEN ANNEHMEN
 0B7B 8683              JNF0    STP102          ; KEIN ^E ?
 0B7D 142E              CALL    FNOR50          ; FELD 10 NORMAL
 0B7F 1409              CALL    UP2             ; 2 ZEILEN RAUF
 0B81 6455              JMP     SETP09
 0B83 D68B      STP102: JNZ     STP103          ; ^X : EIN FELD WEITER
 0B85 14B8              CALL    MCHATT          ; MASKE [NDERN UND ANZEIGEN
 0B87 1417              CALL    FREV50          ; WIEDER REVERS
 0B89 6479              JMP     STP101          ; WEITER IN FELD 10
 0B8B 142E      STP103: CALL    FNOR50          ; FELD 10 NORMAL
 0B8D 1402              CALL    DOWN2
 0B8F 1402              CALL    DOWN2           ; POSITION FELD 11
                
 0B91 1417      SETP11: CALL    FREV50          ; REVERS AN
 0B93 341F      STP111: CALL    INPUT           ; ZEICHEN ANNEHMEN
 0B95 869F              JNF0    STP112          ; KEIN ^E ?
 0B97 142E              CALL    FNOR50          ; FELD 11 NORMAL
 0B99 1409              CALL    UP2
 0B9B 1409              CALL    UP2             ; 4 ZEILEN RAUF
 0B9D 6477              JMP     SETP10
 0B9F D6AD      STP112: JNZ     STP113          ; ^X : EIN FELD WEITER
 0BA1 B939              MOV     R1,#REG5
 0BA3 F1                MOV     A,@R1           ; REG5 ENTH[LT WORTL[NGE
 0BA4 D301              XRL     A,#1            ; BIT INVERTIEREN
 0BA6 A1                MOV     @R1,A
 0BA7 14D7              CALL    MTWLEN          ; NEUE WORTL[NGE ANZEIGEN
 0BA9 1417              CALL    FREV50          ; WIEDER REVERS
 0BAB 6493              JMP     STP111          ; WEITER IN FELD 11
 0BAD 142E      STP113: CALL    FNOR50          ; FELD 11 NORMAL
 0BAF 1402              CALL    DOWN2           ; POSITION FELD 12
                
 0BB1 1417      SETP12: CALL    FREV50          ; REVERS AN
 0BB3 341F      STP121: CALL    INPUT           ; ZEICHEN ANNEHMEN
 0BB5 86BD              JNF0    STP122          ; KEIN ^E ?
 0BB7 142E              CALL    FNOR50          ; FELD 12 NORMAL
 0BB9 1409              CALL    UP2             ; 2 ZEILEN RAUF
 0BBB 6491              JMP     SETP11
 0BBD D6D3      STP122: JNZ     STP125          ; ^X : EIN FELD WEITER
 0BBF B93A              MOV     R1,#REG6
 0BC1 F1                MOV     A,@R1           ; REG6 ENTH[LT BAUDRATE
 0BC2 0310              ADD     A,#10H          ; INKREMENTIEREN
 0BC4 A1                MOV     @R1,A           ; SPEICHERN FALLS OK
 0BC5 0330              ADD     A,#30H          ; ZWEITE 19200 ERREICHT ?
 0BC7 E6CD              JNC     STP123          ; NEIN: WEITER
 0BC9 F1                MOV     A,@R1
 0BCA 530F              ANL     A,#0FH          ; JA: BAUDRATE AUF 110 SETZEN
 0BCC A1                MOV     @R1,A
 0BCD 14E4      STP123: CALL    MTBAUD          ; NEUE BAUDRATE ANZEIGEN
 0BCF 1417              CALL    FREV50          ; WIEDER REVERS
 0BD1 64B3              JMP     STP121          ; WEITER IN FELD 12
 0BD3 142E      STP125: CALL    FNOR50          ; FELD 12 NORMAL
 0BD5 1402              CALL    DOWN2           ; POSITION FELD 13
                
 0BD7 1417      SETP13: CALL    FREV50          ; REVERS AN
REH NS455 CROSS-ASSEMBLER - VERSION 1.2 - 03.08.89  18:08:21

SETUP-MEN] F]R TERMINAL MIT NS405/455                                 PAGE 11   
C'T TEXT-TERMINAL SOFTWARE V2.2

 0BD9 341F      STP131: CALL    INPUT           ; ZEICHEN ANNEHMEN
 0BDB 86E3              JNF0    STP132          ; KEIN ^E ?
 0BDD 142E              CALL    FNOR50          ; FELD 13 NORMAL
 0BDF 1409              CALL    UP2             ; 2 ZEILEN RAUF
 0BE1 64B1              JMP     SETP12          ; WIEDER FELD 12
 0BE3 D6F1      STP132: JNZ     STP133          ; ^X : EIN FELD WEITER
 0BE5 B93A              MOV     R1,#REG6
 0BE7 F1                MOV     A,@R1           ; REG6 ENTH[LT STOPBITS
 0BE8 D301              XRL     A,#1            ; BIT INVERTIEREN
 0BEA A1                MOV     @R1,A           ; NEUES REG6
 0BEB 14EC              CALL    MTSTOP          ; NEUE STOPBITZAHL ANZEIGEN
 0BED 1417              CALL    FREV50          ; WIEDER REVERS
 0BEF 64D9              JMP     STP131          ; WEITER IN FELD 13
 0BF1 142E      STP133: CALL    FNOR50          ; FELD 13 NORMAL
 0BF3 1402              CALL    DOWN2           ; POSITION FELD 14
                
 0BF5 1417      SETP14: CALL    FREV50          ; REVERS AN
 0BF7 341F      STP141: CALL    INPUT           ; ZEICHEN ANNEHMEN
 0BF9 96FD              JF0     STP149
 0BFB 8403              JMP     STP142          ; KEIN ^E ?
 0BFD 142E      STP149: CALL    FNOR50          ; FELD 14 NORMAL
 0BFF 1409              CALL    UP2             ; 2 ZEILEN RAUF
 0C01 64D7              JMP     SETP13
 0C03 D61E      STP142: JNZ     STP144          ; ^X : EIN FELD WEITER
 0C05 B93A              MOV     R1,#REG6
 0C07 F1                MOV     A,@R1           ; REG6 ENTH[LT PARITY
 0C08 77                RR      A               ; PARITY-BITS RECHTS
 0C09 17                INC     A               ; ERH\HEN
 0C0A 5307              ANL     A,#7            ; 3 BITS
 0C0C C611              JZ      STP143          ; BEI 0 NICHT WEITER ERH\HEN
 0C0E 1211              JB0     STP143          ; UNGERADE ?
 0C10 17                INC     A               ; SONST -> UNGERADE
 0C11 E7        STP143: RL      A
 0C12 AA                MOV     R2,A            ; NEUER WERT NACH R2
 0C13 F1                MOV     A,@R1           ; ALTES REG6
 0C14 53F1              ANL     A,#0F1H         ; ALLES AUSSER PARITY
 0C16 4A                ORL     A,R2            ; NEUE PARITY
 0C17 A1                MOV     @R1,A           ; NEUES REG6
 0C18 14F9              CALL    MTPAR           ; NEUE PARITY ANZEIGEN
 0C1A 1417              CALL    FREV50          ; WIEDER REVERS
 0C1C 64F7              JMP     STP141          ; WEITER IN FELD 14
 0C1E 142E      STP144: CALL    FNOR50          ; FELD 14 NORMAL
 0C20 1402              CALL    DOWN2           ; POSITION FELD 15
                
 0C22 1417      SETP15: CALL    FREV50          ; REVERS AN
 0C24 341F      STP151: CALL    INPUT           ; ZEICHEN ANNEHMEN
 0C26 862E              JNF0    STP152          ; KEIN ^E ?
 0C28 142E              CALL    FNOR50          ; FELD 15 NORMAL
 0C2A 1409              CALL    UP2             ; 2 ZEILEN RAUF
 0C2C 64F5              JMP     SETP14
 0C2E D63C      STP152: JNZ     STP153          ; ^X : EIN FELD WEITER
 0C30 B938              MOV     R1,#REG4
 0C32 F1                MOV     A,@R1           ; REG4 ENTH[LT HANDSHAKE
 0C33 D320              XRL     A,#20H          ; BIT INVERTIEREN
 0C35 A1                MOV     @R1,A           ; NEUES REG4
 0C36 3410              CALL    MTHAND          ; NEU ANZEIGEN
 0C38 1417              CALL    FREV50          ; WIEDER REVERS
 0C3A 8424              JMP     STP151          ; WEITER IN FELD 15
 0C3C 142E      STP153: CALL    FNOR50          ; FELD 15 NORMAL
 0C3E 444E              JMP     SETP01          ; => POSITION 2 (SPALTEN)
                
                ; R]CKKEHR AUS SETUP-MEN]. DIE POINTER F]R HOME UND CURSOR
                ; WERDEN WIEDER AUF DIE ALTEN WERTE GESETZT, DIE Z[HLER F]R
                ; ZEILE UND SPALTE EBENSO, DES WEITEREN WIRD BEI VER[NDERTEM
                ; TERMINAL-FORMAT EIN FORMFEED DURCHGEF]HRT, ANSONSTEN NUR 
                ; EINE NORMALE INITIALISIERUNG (KRITERIUM : F1).
REH NS455 CROSS-ASSEMBLER - VERSION 1.2 - 03.08.89  18:08:21

SETUP-MEN] F]R TERMINAL MIT NS405/455                                 PAGE 12   
C'T TEXT-TERMINAL SOFTWARE V2.2

                
 0C40 231F      SETPX:  MOV     A,#1FH
 0C42 C2                MOV     HACC,A
 0C43 23FF              MOV     A,#0FFH         ; ACCU AUF SPEICHERENDE (1FFF)
 0C45 89                MOVL    R1,A
 0C46 91                MOVX    A,@R1           ; CURSOR HOLEN
 0C47 8B                MOV     CURS,A
 0C48 09                DECL    R1
 0C49 91                MOVX    A,@R1           ; HOME HOLEN
 0C4A 8A                MOV     HOME,A
 0C4B 09                DECL    R1
 0C4C 91                MOVX    A,@R1           ; R5 (ZEILE) HOLEN
 0C4D AD                MOV     R5,A
 0C4E 09                DECL    R1
 0C4F 91                MOVX    A,@R1           ; R6 (SPALTE) HOLEN
 0C50 AE                MOV     R6,A
 0C51 27                CLR     A
 0C52 C2                MOV     HACC,A
 0C53 0D                MOV     BEGD,A          ; ANFANG WIEDER AUF 0
 0C54 C5                SEL     MB0
 0C55 140A              CALL    INIT            ; NEU INITIALISIEREN
 0C57 E5                SEL     MB2
 0C58 1412              CALL    LDSEND
 0C5A 0C                MOV     ENDD,A          ; ENDE WIEDER RICHTIG
 0C5B 140A              CALL    STSET           ; STATUSZEILE AKTUALISIEREN
 0C5D 6661              JNF1    SUPRET          ; FORMAT VER[NDERT ?
 0C5F 040E              JMP     FFD             ; SEITE L\SCHEN, C=R=1, HLOOP
 0C61 C5        SUPRET: SEL     MB0
 0C62 0410              JMP     HLOOP           ; ZUR]CK ZUR HAUPTSCHLEIFE
                
                ; ES FOLGEN DIE TEXTE F]R DAS SETUP-MEN]
                
 0E7D                   ORG     0E7DH           ; SO ENDE DER TEXTE BEI 0FFF
                
 0E7D DF524548  TITEL:  DB      0DFH,'REH Universal Terminal - Version 2.2'
 0EA2 DF544552  MTERM:  DB      0DFH,'TERMINAL'
 0EAB DF435552  MCURS:  DB      0DFH,'CURSOR'
 0EB2 DF564944  MVID:   DB      0DFH,'VIDEO'
 0EB8 DF4B4F4D  MKOMM:  DB      0DFH,'KOMMUNIKATION'
                
 0EC6 FF456D75  MEMU:   DB      0FFH,'Emulation'
 0ED0 FF537061  MSPA:   DB      0FFH,'Spalten'
 0ED8 FF5A6569  MZEI:   DB      0FFH,'Zeilen'
 0EDF FF5A6569  MZEICH: DB      0FFH,'Zeichensatz'
                
 0EEB 9B        MDSP:   MOV     A,CURS          ; ZEILENANFANG
 0EEC 6B                ADD     A,R3            ; AUF ENTSPR. SPALTE
 0EED 89                MOVL    R1,A            ; R1 ALS ZEIGER
 0EEE FA                MOV     A,R2
 0EEF B3                MOVP    A,@A            ; ERSTES BYTE: ATTRIBUTE
 0EF0 C2                MOV     HACC,A
 0EF1 1A        MDSP1:  INC     R2              ; ZEIGER AUF N[CHSTES ZEICHEN
 0EF2 FA                MOV     A,R2
 0EF3 B3                MOVP    A,@A            ; ZEICHEN HOLEN
 0EF4 81                MOVX    @R1,A           ; ABSPEICHERN
 0EF5 39                INCL    R1
 0EF6 ECF1              DJNZ    R4,MDSP1        ; BIS TEXTENDE
 0EF8 83                RET
                
 0EF9 BC05      MDISP5: MOV     R4,#5           ; 5 ZEICHEN
 0EFB C4FF              JMP     MDISP           ; TEXT AUSGEBEN
 0EFD BC06      MDISP6: MOV     R4,#6           ; 6 ZEICHEN
 0EFF 9B        MDISP:  MOV     A,CURS          ; ZEILENANFANG
 0F00 6B                ADD     A,R3            ; AUF ENTSPR. SPALTE
 0F01 89                MOVL    R1,A            ; R1 ALS ZEIGER
 0F02 23FF              MOV     A,#-1           ; ALLE ATTRIBUTE AUS
REH NS455 CROSS-ASSEMBLER - VERSION 1.2 - 03.08.89  18:08:21

SETUP-MEN] F]R TERMINAL MIT NS405/455                                 PAGE 13   
C'T TEXT-TERMINAL SOFTWARE V2.2

 0F04 C2                MOV     HACC,A
 0F05 FA        MDISP1: MOV     A,R2            ; ZEIGER AUF TEXT
 0F06 B3                MOVP    A,@A            ; ZEICHEN HOLEN
 0F07 81                MOVX    @R1,A           ; ABSPEICHERN
 0F08 1A                INC     R2              ; ZEIGER AUF N[CHSTES ZEICHEN
 0F09 39                INCL    R1
 0F0A EC05              DJNZ    R4,MDISP1       ; BIS TEXTENDE
 0F0C 83                RET
                
 0F0D 41757377  INFO:   DB      'Auswahl mit ^E und ^X, '
 0F24               IF MHZ12
 0F24                   DB      1BH,'ndern mit Leertaste'
 0F24               ENDIF
 0F24               IF MHZ18
 0F24 116E6465          DB      11H,'ndern mit Leertaste'
 0F38               ENDIF
 0F38 53746174  MSTAT:  DB      'Statuszeile'
 0F43 436F6E74  MCTL:   DB      'Control Mode'
 0F4F 466F726D  MGRO:   DB      'Form'
 0F53 417274    MART:   DB      'Art'
 0F56 48696E74  MREV:   DB      'Hintergrund'
 0F61 41747472  MATTR:  DB      'Attr. Bit 7'
 0F6C               IF MHZ12
 0F6C           MLAENG: DB      'Wortl',1BH,'nge'
 0F6C               ENDIF
 0F6C               IF MHZ18
 0F6C 576F7274  MLAENG: DB      'Wortl',11H,'nge'
 0F75               ENDIF
 0F75 42617564  MBAUD:  DB      'Baudrate'
 0F7D 53746F70  MSTOP:  DB      'Stopbits'
 0F85 50617269  MPAR:   DB      'Parity'
 0F8B 48616E64  MHAND:  DB      'Handshake'
 0F94 53545249  STRICH: DB      'STRICH'
 0F9A 20424C4F  BLOCK:  DB      ' BLOCK'
 0FA0 20424C49  BLINK:  DB      ' BLINK'
 0FA6 52554845  RUHEND: DB      'RUHEND'
 0FAC 52455645  REVERS: DB      'REVERS'
 0FB2 554E4445  UNDERL: DB      'UNDERL'
 0FB8 20202020  AN:     DB      '    AN'
 0FBE 20202041  AUS:    DB      '   AUS'
 0FC4 20204845  HELL:   DB      '  HELL'
 0FCA 44554E4B  DUNKEL: DB      'DUNKEL'
 0FD0 38204249  BIT8:   DB      '8 BIT'
 0FD5 37204249  BIT7:   DB      '7 BIT'
 0FDA 32204249  BIT2:   DB      '2 BIT'
 0FDF 31204249  BIT1:   DB      '1 BIT'
 0FE4 20455645  EVEN:   DB      ' EVEN'
 0FE9 20204F44  ODD:    DB      '  ODD'
 0FEE 204D4152  MARK:   DB      ' MARK'
 0FF3 53504143  SPACE:  DB      'SPACE'
 0FF8 20445452  HARD:   DB      ' DTR'
 0FFC 584F4646  XOFF:   DB      'XOFF'
                
 0000                   END
REH NS455 CROSS-ASSEMBLER - VERSION 1.2 - 03.08.89  18:08:21

SETUP-MEN] F]R TERMINAL MIT NS405/455                                 PAGE 14   
---- SYMBOL TABLE ----

AN       0FB8          MGRO     0F4F          SETP05   0AC9
AUS      0FBE          MHAND    0F8B          SETP06   0AE7
BDISP    1018          MHZ12    0000          SETP07   0B07
BELBIT   0020          MHZ18    0001          SETP08   0B27
BFLAG2   0030          MINUTE   003D          SETP09   0B55
BIT1     0FDF          MKOMM    0EB8          SETP10   0B77
BIT2     0FDA          MLAENG   0F6C          SETP11   0B91
BIT7     0FD5          MPAR     0F85          SETP12   0BB1
BIT8     0FD0          MREV     0F56          SETP13   0BD7
BLINK    0FA0          MSPA     0ED0          SETP14   0BF5
BLOCK    0F9A          MSTAT    0F38          SETP15   0C22
CDISP    101C          MSTOP    0F7D          SETPX    0C40
CI       000C          MTART    0885          SETUP    0800
CKEY     0020          MTART1   0893          SETUP1   094E
CLRPG1   1010          MTATB1   08CF          SKEY     001F
CO       000E          MTATT    08C4          SPACE    0FF3
CR       000D          MTATT2   08C6          SRCHA1   08AC
CURATT   0032          MTBAUD   08E4          SRCHAT   08A4
DKEY     0018          MTCOL    0848          SRCHAX   08B7
DOWN2    0802          MTCTL    086D          STP021   0A5B
DTR      0080          MTCTL1   0874          STP022   0A69
DUNKEL   0FCA          MTERM    0EA2          STP023   0A79
EDISP    1014          MTGRO    0878          STP02L   0A63
ENDHI    0037          MTGRO1   0881          STP031   0A7F
ENDLO    0036          MTHAND   0910          STP032   0A89
ESC      001B          MTHDS1   0919          STP033   0AA0
EVEN     0FE4          MTMOD    0840          STP041   0AA6
FBLOOP   081D          MTNAT    0858          STP042   0AB0
FFD      100E          MTPAR    08F9          STP043   0AC5
FNLOOP   0834          MTPARX   0908          STP051   0ACB
FNOR18   0829          MTPTAB   090C          STP052   0AD5
FNOR50   082E          MTREV    0897          STP053   0AE3
FNORM    0831          MTREV1   08A0          STP061   0AE9
FREV18   0812          MTROW    0850          STP062   0AF3
FREV50   0817          MTSTAN   0869          STP063   0B01
FREVRS   081A          MTSTAT   0860          STP069   0AF7
HARD     0FF8          MTSTOP   08EC          STP071   0B09
HELL     0FC4          MTSTP1   08F5          STP072   0B15
HLOOP    0010          MTWL8    08E0          STP073   0B23
HOUR     003C          MTWLEN   08D7          STP081   0B29
INFO     0F0D          MVID     0EB2          STP082   0B33
INIT     000A          MZEI     0ED8          STP083   0B40
INPRET   0944          MZEICH   0EDF          STP084   0B44
INPUT    091F          NATTAB   003B          STP085   0B4A
INPUT1   0920          NDISP    1016          STP091   0B57
INPUT2   0934          ODD      0FE9          STP092   0B65
INPUT3   093A          RDISP    101E          STP093   0B73
LDSEND   1012          RDPTR    0017          STP09L   0B5F
LKEY     0000          REG4     0038          STP101   0B79
MARK     0FEE          REG5     0039          STP102   0B83
MART     0F53          REG6     003A          STP103   0B8B
MASK7    0033          REVERS   0FAC          STP111   0B93
MATTR    0F61          RING     0020          STP112   0B9F
MBAUD    0F75          RNGEND   002F          STP113   0BAD
MCHATT   08B8          ROWLEN   0034          STP121   0BB3
MCTL     0F43          ROWNUM   0035          STP122   0BBD
MCURS    0EAB          RUHEND   0FA6          STP123   0BCD
MDISP    0EFF          SBACK    0945          STP125   0BD3
MDISP1   0F05          SDISP    100C          STP131   0BD9
MDISP5   0EF9          SECOND   003E          STP132   0BE3
MDISP6   0EFD          SETP01   0A4E          STP133   0BF1
MDSP     0EEB          SETP02   0A59          STP141   0BF7
MDSP1    0EF1          SETP03   0A7D          STP142   0C03
MEMU     0EC6          SETP04   0AA4          STP143   0C11
REH NS455 CROSS-ASSEMBLER - VERSION 1.2 - 03.08.89  18:08:21

SETUP-MEN] F]R TERMINAL MIT NS405/455                                 PAGE 15   
---- SYMBOL TABLE ----

STP144   0C1E          TITEL    0E7D          Z15600   0000
STP149   0BFD          UKEY     0005          Z16650   0000
STP151   0C24          UNDERL   0FB2          Z17300   0000
STP152   0C2E          UP2      0809          Z17550   0000
STP153   0C3C          UP21     080E          Z17850   0001
STRICH   0F94          WRPTR    0016          Z18400   0000
STSET    100A          XOFF     0FFC          Z20820   0000
SUPRET   0C61          XOFFC    0013          
TBUFF    0031          XONC     0011          
