| 5.3 Praktische Übungen zum Praktikumsrechner |  | Anhang: Der Registersatz des MC6840 |

## Lösungsvorschläge zu den Praktischen Übungen

Zu P5.2-1:

Beachten Sie bitte, daß Sie die in die Steuerregister eingegebenen Werte nicht im Datenfeld der Anzeige lesen können, da es sich um Nur-Schreib-Register handelt.

I. Zum Ansprechen des Steuerregisters von Zähler #3 muß zunächst das Bit 0 im Steuerregister CR#2 auf 0 gesetzt werden:

    Taste A:   $F019 ($00)
    Taste D:          $00

"Programmieren" des Zählers #3: Die Anforderungen der Aufgabe führen zu folgender Belegung des Steuerregisters:

Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
0 | 1 |
0 | 0 | 0
| 0 | 1 | 1
| OE | IE | Modus, Interr.-Steuerung | ZM | T

Also muß ins Steuerregister CR#3 der Hexadezimalwert: 0100 0011 = $43 eingetragen werden.

    Taste -:   $F018  $43

II. Laden der Auffangregister von Zähler #3:

    Taste A:   $F01E ($xx)
    Taste D:          $FF
    Taste +:   $F01F  $FF

III. Interrupt-Vektor zu Zähler #3 laden: $E4C0 nach $002E, $002F

    Taste A:   $002E ($E6)
    Taste D:          $E4
    Taste +:          $C0

IV. Starten des Zählers #3:

    Taste A:   $F019 ($00)
    Taste D:          $01   Vorselektion von Steuerregister CR#1
    Taste -:   $F018  $00   Rücksetzen des "Startbits" 0

Nach einer kurzen Zeit, die einem Zählzyklus entspricht, wird eine Unterbrechungsanforderung an die CPU gestellt. Es erscheint in der Anzeige z.B. die Information:

bP E205 A6

Das Monitorprogramm wurde mit einem Sprung in die Break-Routine "verlassen". Dem Gesamtschaltplan des Systems im Anhang der KE3 können Sie entnehmen, daß der IRQ-Ausgang des Zeitgeber-/Zähler-Bausteins MC6840 mit dem NMI-Eingang (Non Maskable Interrupt) der CPU verbunden ist. Die Startadresse der NMI-Routine im Monitor ist in III. mit der Startadresse der Break-Routine vorbelegt worden. Ein Zählzyklus dauert:

216 *8 Taktzyklen von E = 524,288 ms.
V. Assemblerprogramm

Die minimale Zählfrequenz wird für den maximalen Initialwert des Zählers, also für $FFFF erreicht. Bei der gewählten Betriebsart erscheint am Ausgang O3 ein Rechtecksignal mit gleich langer Impulsdauer und Impulspause (Square Wave).

    1       0000    HZ        EQU  $0000          ; Hexadezimalzähler
    2       002E    INT_Z3    EQU  $002E          ; Interruptvektor Zähler #3
    3       F018    SR_Z1     EQU  $F018          ; Steuerregister Zähler #1
    4       F018    SR_Z3     EQU  $F018          ; Steuerregister Zähler #3
    5       F019    SR_Z2     EQU  $F019          ; Steuerregister Zähler #2
    6       F019    STREG     EQU  $F019          ; Statusregister
    7       F01E    LATCH_Z3  EQU  $F01E          ; Auffangregister Zähler #3
    8       F120    SHOWB7SG  EQU  $F120          ; Anzeigeroutine
    9
    10  0400                     ORG  $0400
    11  0400  CC 06 00   START:  LDD  #$0600
    12  0403  DD 2E              STD  INT_Z3      ; Interruptvektor laden
    13  0405  7F F0 19           CLR  SR_Z2       ; Steuerregister #3 selektieren
    14  0408  86 C3              LDA  #$C3        ; Steueregister #3 mit $C3 =
    15  040A  B7 F0 18           STA  SR_Z3       ;   1100 0011 laden
    16  040D  CC FF FF           LDD  #$FFFF      ; Auffangregister von Zähler #3
    17  0410  FD F0 1E           STD  LATCH_Z3    ;  mit $FFFF laden
    18  0413  86 01              LDA  #$01        ; Steuerregister von Zähler #1
    19  0415  B7 F0 19           STA  SR_Z2       ;   anwählen
    20  0418  7F F0 18           CLR  SR_Z1       ; Zähler starten
    21  041B  7E 04 1B       L:  JMP  L           ; Endlosschleife
    22
    23  0600                     ORG $0600        ; Interruptroutine
    24  0600  0C 00        INT:  INC HZ           ; Inkrementieren des Hex.-Zählers
    25  0602  8E 00 00           LDX #$0000       ; Anzeigestellen S1,S0 selektieren
    26  0605  D6 00              LDB HZ
    27  0607  BD F1 20           JSR SHOWB7SG     ; Zählerstand anzeigen
    28  060A  F6 F0 19           LDB STREG        ; Löschen des Interrupt-Flags I
    29  060D  FC F0 1E           LDD LATCH_Z3     ; durch Lesen der Register
    30  0610  3B                 RTI              ; Rücksprung

Zu P5.2-2:

I. "Programmieren" des Zählers #3: Die Anforderungen der Aufgabe führen zu folgender Belegung des Steuerregisters:

Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
1 | 0 |
0 | 0 | 0
| 0 | 1 | 1
| OE | IE | Modus, Interr.-Steuerung | ZM | T

Also muß ins Steuerregister CR#3 der Hexadezimalwert: 1000 0011 = $83 eingetragen werden.

    Taste A:   $F019 ($00)   Selektion des Steuerregisters
    Taste D:          $00    von Zähler #3
    Taste -:   $F018  $83    Betriebsart wählen

II. Berechnung von Frequenz und Periodendauer:

Zykluslänge des Taktes E: 1 ms

Periodendauer = 2 * (Inhalt des Auffangregisters +1) * 8 * 1 ms

2 * 8 * 4.096 ms = 65.54 ms
2 * 8 * 32.768 ms = 524.29 ms
2 * 8 * 4.096 * 15 ms = 983.04 ms

(Auf die maßstäbliche Darstellung der Rechtecksignale wird hier verzichtet.)

III. Programmierung des Bausteins: (Fortsetzung von I.)

    Taste A:   $F019 ($00)  Selektion des Steuerregisters
    Taste D:          $00   von Zähler #3
    Taste -:   $F018  $83   Betriebsart wählen
    Taste A:   $F01E
    Taste D:          $XX   $XXXX  Initialwert
    Taste +:   $F01F  $XX
    Taste A:   $F019 ($00)  Selektion des Steuerregisters
    Taste D:          $01   von Zähler #1
    Taste -:   $F018  $00   Starten der Zähler

IV. Änderung der Parameter:

- Setzen des Gate-Eingangs G3 auf H-Potential stoppt den Zähler, Rücksetzen auf L läßt ihn weiterlaufen.
- Nach dem Einschreiben eines neuen Wertes in das Auffangregister wird der Zähler neu initialisiert und mit dem neuen Wert betrieben. Achtung: Erst das Einschreiben des Wertes in $F01F bewirkt diese Änderung !
- Eine Änderung des Steuerwortes veranlaßt unmittelbar die Ausführung in der neuen Betriebsart. Z.B. erhöht eine Änderung des Wertes $83 zu $82, also eine Inversion des Bits 0, die Ausgangsfrequenz um den Faktor 8, da nun der Frequenzteiler 1:8 deaktiviert ist. Wichtig: Zunächst wieder das Steuerregister von Zähler #3 selektieren:

      Taste A:   $F019 ($00)  Selektion des Steuerregisters
      Taste D:          $00   von Zähler #3
      Taste -:   $F018  $82   neues Steuerwort eingeben

Zu P5.2-3:

I. "Programmieren" des Zählers #3:
Die Anforderungen der Aufgabe führen zu folgender Belegung des Steuerregisters:

Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
1 | 0 |
0 | 0 | 0
| 0 | 0 | 0
| OE | IE | Modus, Interr.-Steuerung | ZM | T

Also muß ins Steuerregister CR#3 der Hexadezimalwert: 1000 0000 = $80 eingetragen werden.

    Taste A:   $F019 ($00)  Selektion des Steuerregisters
    Taste D:          $00   von Zähler #3
    Taste -:   $F018  $80   Betriebsart wählen

II. Berechnung der Triggerfrequenz und des Ausgangssignals:

100 Hz entsprechen einer Schwingungsdauer von 10 ms. also einer Impulsdauer und Pausendauer von je 5 ms. Daher müssen die Initialwerte in den Registern U,Y für das Programm aus P4.2-3, das sich der Routine DLY1MS bedient, auf den Wert $5 gesetzt werden.

Periodendauer des Ausgangssignals 2 * ($100+1) * Schwingungsdauer = 5.14 s

Programmierung des Bausteins: (Fortsetzung von I.)

    Taste A:   $F01E  $01   Laden des Auffangregisters
    Taste +:   $F01F  $00   von Zähler #3
    Taste A:   $F019 ($00)
    Taste D:          $01   Steuerregister CR#1 selektieren
    Taste -:   $F018  $00   Starten der Zähler

III. Berechnung der 1-Hz-Frequenz:

1 Hz bei einer Grundschwingungsdauer von 10 ms bedeutet, daß ein Zählzyklus 100 Takte, also Impulsdauer und Impulspause jeweils 50 Takte, dauern müssen. Daraus ergibt sich ein Initialwert von 50 = $32.

    Taste A:   $F01E  $00   Laden des Auffangregisters
    Taste +:   $F01F  $32   von Zähler #3

IV. Berechnung der maximalen Frequenz:

Initialwert $0000 ergibt die minimale Schwingungsdauer:

2 * (0+1) * 10 ms = 20 ms. Daraus ergibt sich eine maximale Frequenz von 50 Hz.

V. Auswirkung von G3:

Für #(G3) = H wird der Zähler gestoppt, die Schaltung funktioniert also dann nicht mehr.

Zu P5.2-4:

I. "Programmieren" des Zählers #3:

Die Anforderungen der Aufgabe führen zu folgender Belegung des Steuerregisters:

Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
1 | 0 |
1 | 0 | 0
| 0 | 1 | 1
| OE | IE | Modus, Interr.-Steuerung | ZM | T

Also muß ins Steuerregister CR#3 der Hexadezimalwert: 1010 0011 = $A3 eingetragen werden.

II. Programm: Starten durch die Software
(für den 6809-Simulator oder Praktikumsrechner)

    1       F018    SR_Z1     EQU  $F018        ; Steuerregister Zähler #1
    2       F018    SR_Z3     EQU  $F018        ; Steuerregister Zähler #3
    3       F019    SR_Z2     EQU  $F019        ; Steuerregister Zähler #2
    4       F01E    LATCH_Z3  EQU  $F01E        ; Auffangregister Zähler #3
    5       F003    CRB       EQU  $F003        ; Steuerregister Port B
    6       F110    CLRDISP   EQU  $F110        ; Anzeige löschen
    7       F140    KEY       EQU  $F140        ; Tastatur abfragen
    8       F143    HALTKEY   EQU  $F143        ; Tastatur abfragen mit Halt
    9       F156    SHOWADR   EQU  $F156        ; Adresse einlesen und anz.
    10      F160    DLY1MS    EQU  $F160        ; Verzögerung
    11
    12  0400                    ORG  $0400
    13  0400  7F F0 19          CLR  SR_Z2      ; Steuerreg. Zähler #3 selektieren
    14  0403  86 A3             LDA  #$A3       ; gewünschte Betriebsart
    15  0405  B7 F0 18          STA  SR_Z3      ;     programmieren
    16  0408  CC FF FF          LDD  #$FFFF     ; maximale Impulsdauer
    17  040B  FD F0 1E          STD  LATCH_Z3   ;   laden
    18  040E  86 01             LDA  #$01       ; Steuerregister Zähler #1
    19  0410  B7 F0 19          STA  SR_Z2      ;     selektieren
    20  0413  7F F0 18          CLR  SR_Z1      ; (alle) Zähler starten
    21  0416  10 8E 00 40       LDY  #$0040     ; Y initialisieren
    22  041A  BD F1 10          JSR  CLRDISP    ; Anzeige löschen
    23
    24  041D  BD F1 40    LOOP  JSR  KEY        ; Tastatur abfragen
    25  0420  C1 86             CMPB #$86       ; 'S' gedrückt ?
    26  0422  27 18             BEQ  L1         ; falls ja, neuen Wert einlesen
    27  0424  CC FF FF          LDD  #$FFFF     ; max. Zählzykluslänge vorgeben
    28  0427  FD F0 1E          STD  LATCH_Z3   ; Initialisieren des Zählers #3
    29  042A  86 34             LDA  #$34       ; LED an CB2
    30  042C  B7 F0 03          STA  CRB        ;   ausschalten
    31  042F  BD F1 60          JSR  DLY1MS     ; Verzögerung um ca. (Y) ms
    32  0432  86 3C             LDA  #$3C       ; LED an CB2
    33  0434  B7 F0 03          STA  CRB        ;    anschalten
    34  0437  BD F1 60          JSR  DLY1MS     ; Verzögerung um ca. (Y) ms
    35  043A  20 E1             BRA  LOOP
    36
    37  043C   BD F1 56     L1  JSR SHOWADR ; Einlesen des neuen Wertes
    38  043F   20 DC            BRA  LOOP

III. Programm: Starten durch die Hardware: (nur für den Praktikumsrechner)

Zunächst müssen Sie den Ausgang CB2 mit dem Eingang G3 des Zählers verbinden.

Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
1 | 0 |
1 | 1 | 0
| 0 | 1 | 1
| OE | IE | Modus, Interr.-Steuerung | ZM | T

Also muß ins Steuerregister CR#3 nun der Hexadezimalwert: 1011 0011 = $B3 eingetragen werden.

Änderungen im Programm aus II.:

- 14 0403 86 B3 LDA #$B3 ; Betriebsart wählen
- Die Zeilen 27 und 28 müssen gelöscht werden.

Zu P5.2-5:

"Programmieren" des Zählers #3:

Die Anforderungen der Aufgabe führen zu folgender Belegung des Steuerregisters:

Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
1 | 1 |
0 | 1/0 | 1
| 0 | 1 | 0
| OE | IE | Modus, Interr.-Steuerung | ZM | T

Also muß ins Steuerregister CR#3 der Hexadezimalwert:

1100 1010 = $CA | für die Schwingungsdauer-Messung
1101 1010 = $DA | für die Impulsdauer-Messung

eingetragen werden.

I./II. Programm:

    1       002E    INT_Z3    EQU  $002E        ; Interruptvektor Z#3
    2       F003    CRB       EQU  $F003        ; Steuerregister Port B
    3       F018    SR_Z3     EQU  $F018        ; Steuerregister Zähler #3
    4       F019    SR_Z2     EQU  $F019        ; Steueregister Zähler #2
    5       F019    STREG     EQU  $F019        ; Statusregister aller Zähler
    6       F01E    LATCH_Z3  EQU  $F01E        ; Auffangregister Zähler #3
    7       F110    CLRDISP   EQU  $F110        ; Anzeige löschen
    8       F123    SHOWD7SG  EQU  $F123        ; D in Anzeige bringen
    9       F140    KEY       EQU  $F140        ; Tastatur abfragen
    10      F156    SHOWADR   EQU  $F156        ; Adresse eingeben/anzeig.
    11      F160    DLY1MS    EQU  $F160        ; Verzögerung
    12
    13  0400                     ORG  $0400
    14  0400  CC 05 00    START  LDD  #$0500    ;
    15  0403  DD 2E              STD  INT_Z3    ; Interruptvektor setzen
    16  0405  7F F0 19      CLR  SR_Z2          ; Steuerregister Zähler #3 selekt.
    17  0408  86 CA              LDA  #$CA      ; Schwingungsdauer,
                                                ;  #$DA: Impulsdauer !!
    18  040A  B7 F0 18           STA  SR_Z3     ;    Betriebsart wählen
    19  040D  CC FF FF           LDD  #$FFFF    ; max. Zykluslänge
    20  0410  FD F0 1E           STD  LATCH_Z3  ;    programmieren
    21  0413  86 01              LDA  #$01      ; Steuerregister Zähler #1
    22  0415  B7 F0 19           STA  SR_Z2     ;    selektieren
    23  0418  7F F0 18           CLR  SR_Z1     ; alle Zähler starten
    24  041B  BD F1 10           JSR  CLRDISP   ; Anzeige löschen
    25  041E  86 01        EING  LDA  #$01      ; (alle) Zähler
    26  0420  B7 F0 18           STA  SR_Z3     ;     stoppen
    27  0423  8E 00 04           LDX  #$0004    ;  neuen Wert eingeben und
    28  0426  BD F1 56           JSR  SHOWADR   ;      anzeigen
    29  0429  1F 20              TFR  Y,D       ; (überflüssige) Ausgabe
    30  042B  BD F1 23           JSR  SHOWD7SG  ; des neuen Wertes
    31  042E  7F F0 18           CLR  SR_Z3     ; (alle) Zähler starten
    32  0431  BD F1 40   RE_ECK  JSR  KEY       ; Tastatur ohne Halt abfragen
    33  0434  C1 86              CMPB #$86      ; Taste 'S' für neue Eingabe
    34  0436  27 E6              BEQ  EING      ; neuer Wert gewünscht
    35  0438  86 34              LDA  #$34      ; LED an CB2
    36  043A  B7 F0 03           STA  CRB       ;    ausschalten
    37  043D  BD F1 60           JSR  DLY1MS    ; Verzögerung
    38  0440  86 3C              LDA  #$3C      ; LED an CB2
    39  0442  B7 F0 03           STA  CRB       ;     einschalten
    40  0445  BD F1 60           JSR  DLY1MS    ; Verzögerung
    41  0448  20 E7              BRA  RE_ECK
    42
    43  0500                     ORG  $0500
    44  0500  8E 00 00      INT  LDX  #$0       ; Ausgabe des Meßwerts
    45  0503  B6 F0 19           LDA  STREG     ; Löschen des I-Flags
    46  0506  CC FF FF           LDD  #$FFFF    ; Berechnung des Meßwertes
    47  0509  B3 F0 1E           SUBD LATCH_Z3  ;    aus aktuellem Zähler
    48  050C  BD F1 23           JSR  SHOWD7SG  ; Anzeige des Meßwertes
    49  050F  3B                 RTI

Bei den Lösungen der folgenden Aufgaben haben wir - bis auf wenige wichtige Zeilen - bewußt auf die Angabe von Kommentaren verzichtet. Sie sollen sich selbst darüber klar werden, was in den einzelnen Zeilen geschieht und dazu ggf. die Trace- und Register-Funktionen des Monitors benutzen.

Zu P5.2-6:

    1       F002      DDRB      EQU  $F002
    2       F002      DRB       EQU  $F002
    3       F003      CRB       EQU  $F003
    4       F110      CLRDISP   EQU  $F110
    5       F123      SHOWD7SG  EQU  $F123
    6       F120      SHOWB7SG  EQU  $F120
    7       F160      DLY1MS    EQU  $F160
    8       002E      INT_Z3    EQU  $002E
    9       0038      INT_CB1   EQU  $0038
    10      F018      SR_Z3     EQU  $F018
    11      F019      SR_Z2     EQU  $F019
    12      F019      STREG     EQU  $F019
    13      F01E      LATCH_Z3  EQU  $F01E
    14      0000      HZ        EQU  $0

    15             Hauptprogramm
    16  0400                      ORG  $0400
    17  0400  CC 04 80     START  LDD  #$0480
    18  0403  DD 2E               STD  INT_Z3
    19  0405  CC 04 C0            LDD  #$04C0
    20  0408  DD 38               STD  INT_CB1
    21  040A  0F 00               CLR  HZ
    22  040C  0F 01               CLR  HZ+1
    23  040E  0F 02               CLR  HZ+2
    24  0410  7F F0 19            CLR  SR_Z2
    25  0413  86 C2               LDA  #$C2
    26  0415  B7 F0 18            STA  SR_Z3
    27  0418  CC FF FF            LDD  #$FFFF
    28  041B  FD F0 1E            STD  LATCH_Z3
    29  041E  86 01               LDA  #$01
    30  0420  B7 F0 19            STA  SR_Z2
    31  0423  BD F1 10            JSR  CLRDISP
    32  0426  C6 34               LDB  #$34
    33  0428  F7 F0 03            STB  CRB
    34  042B  7E 04 40            JMP  RECHT
    35                         Endlosschleife
    36  0440                      ORG  $0440
    38  0440  10 8E 02 00  RECHT  LDY  #$0200
    39  0444  C6 37         LOOP  LDB  #$37
    40  0446  F7 F0 03            STB  CRB
    41  0449  BD F1 60            JSR  DLY1MS
    42  044C  C6 3F               LDB  #$3F
    43  044E  F7 F0 03            STB  CRB
    44  0451  BD F1 60            JSR  DLY1MS
    45  0454  7E 04 44            JMP  LOOP
    46             Interrupt-Routine Zähler #3
    47  0480                      ORG  $0480
    48  0480  0C 00       INT-Z3  INC  HZ
    49  0482  F6 F0 19            LDB  STREG
    50  0485  FC F0 1E            LDD  LATCH_Z3
    51  0488  3B                  RTI
    52             Interrupt-Routine CB1
    53  04C0                      ORG  $04C0
    54  04C0  0D 02      INT-CB2  TST  HZ+2
    55  04C2  26 09               BNE  L1
    56  04C4  0C 02               INC  HZ+2
    57  04C6  7F F0 18            CLR  SR_Z3      ; Timer Starten
    58  04C9  F6 F0 02            LDB  DRB
    59  04CC  3B                  RTI
    60  04CD  F6 F0 19      L1    LDB  STREG      ; INT loeschen
    61  04D0  FE F0 1E            LDU  LATCH_Z3
    62  04D3  C6 01               LDB  #$1
    63  04D5  F7 F0 18            STB  SR_Z3      ; Timer Stoppen
    64  04D8  8E 00 04            LDX  #4
    65  04DB  D6 00               LDB  HZ
    66  04DD  BD F1 20            JSR  SHOWB7SG
    67  04E0  8E 00 06            LDX  #$6
    68  04E3  0C 01               INC  HZ+1
    69  04E5  D6 01               LDB  HZ+1
    70  04E7  BD F1 20            JSR  SHOWB7SG
    71  04EA  8E 00 00            LDX  #0
    72  04ED  DF 03               STU  HZ+3
    73  04EF  CC FF FF            LDD  #$FFFF
    74  04F2  93 03               SUBD HZ+3
    75  04F4  BD F1 23            JSR  SHOWD7SG
    76  04F7  0F 00               CLR  HZ
    77  04F9  0F 02               CLR  HZ+2
    78  04FB  F6 F0 02            LDB  DRB
    79  04FE  3B                  RTI

Zu P5.3-1:

    1       F110          CLRDISP   EQU  $F110
    2       F140          KEY       EQU  $F140
    3       F143          HALTKEY   EQU  $F143
    4       F123          SHOWD7SG  EQU  $F123
    5       F156          SHOWADR   EQU  $F156
    6       F160          DLY1MS    EQU  $F160
    7
    8   0400                     ORG  $0400
    9   0400  BD F1 10    START  JSR  CLRDISP
    10  0403  8E 00 02           LDX  #$0002
    11  0406  4F                 CLRA
    12  0407  5F                 CLRB
    13  0408  34 06              PSHS D
    14  040A  C6 01              LDB  #1
    15  040C  D7 00              STB  $0
    16  040E  0F 01              CLR  $1
    17
    18  0410  35 06        LOOP  PULS D
    19  0412  BD F1 23           JSR  SHOWD7SG
    20  0415  10 8E 00 10        LDY  #$0010
    21  0419  BD F1 60           JSR  DLY1MS
    22  041C  1E 89              EXG  A,B
    23  041E  9B 00              ADDA $0
    24  0420  0D 01              TST  $1
    25  0422  27 01              BEQ  HEX
    26  0424  19                 DAA
    27  0425  1E 89         HEX  EXG  A,B
    28  0427  89 00              ADCA #0
    29  0429  0D 01              TST  $1
    30  042B  27 01              BEQ  WEITER
    31  042D  19                 DAA
    32  042E  34 06      WEITER  PSHS D
    33
    34  0430  BD F1 40  ABFRAGE  JSR  KEY
    35  0433  C1 86              CMPB #$86
    36  0435  27 F9              BEQ  ABFRAGE
    37  0437  C1 84              CMPB #$84
    38  0439  27 C5              BEQ  START
    39  043B  C1 82              CMPB #$82
    40  043D  26 09              BNE  L3
    41  043F  35 06              PULS D
    42  0441  BD F1 56           JSR  SHOWADR
    43  0444  34 20              PSHS Y
    44  0446  20 C8              BRA  LOOP
    45  0448  C1 80          L3  CMPB #$80
    46  044A  26 04              BNE  L1
    47  044C  0F 01              CLR  $1
    48  044E  20 C0              BRA  LOOP
    49  0450  C1 81          L1  CMPB #$81
    50  0452  26 06              BNE  L2
    51  0454  C6 01              LDB  #1
    52  0456  D7 01              STB  $1
    53  0458  20 B6              BRA  LOOP
    54  045A  C1 00          L2  CMPB #$00
    55  045C  2B B2              BMI  LOOP
    56  045E  D7 00              STB  $0
    57  0460  20 AE              BRA  LOOP
    58  0462                     END

Zu P5.3-2:

    1   0400                       ORG  $0400
    2   0400  BD F1 10      START  JSR  CLRDISP
    3   0403  8E 00 05     ANFANG  LDX  #5
    4   0406  86 02                LDA  #2
    5   0408  BD F1 43      TASTE  JSR  HALTKEY
    6   040B  C1 0A                CMPB #$A
    7   040D  24 F9                BHS  TASTE
    8   040F  E7 82                STB  ,-X
    9   0411  BD F1 1C             JSR  SHOWT7SG
    10  0414  4A                   DECA
    11  0415  2A F1                BPL  TASTE
    13  0417  96 04                LDA  $4
    14  041A  81 01                CMPA #1
    15  041C  22 3D                BHI  FALSCH
    16  041E  C6 64                LDB  #$64
    17  0420  3D                   MUL
    18  0422  D7 00                STB  $0
    19  0423  96 03                LDA  $3
    20  0425  C6 0A                LDB  #$A
    21  0427  3D                   MUL
    22  0429  DB 00                ADDB $0
    23  042A  DB 04                ADDB $2
    24  042C  D7 00                STB  $0
    25  042E  C1 80                CMPB #$80
    26  0430  24 29                BHS  FALSCH
    27  0432  BD F1 43     TASTE1  JSR  HALTKEY
    29  0434  C1 86                CMPB #$86
    30  0437  27 C8                BEQ  START
    31  0439  C1 80                CMPB #$80
    32  043B  26 11                BNE  MINUS
    33  043D  D6 00                LDB  $0
    34  043F  86 70                LDA  #$70
    35  0441  8E 00 00      DARST  LDX  #0
    36  0443  BD F1 20             JSR  SHOWB7SG
    37  0446  30 07                LEAX 7,X
    38  0448  BD F1 13             JSR  SHOWA
    39  044B  20 E4                BRA  TASTE1
    41  044D  C1 81         MINUS  CMPB #$81
    42  044F  26 E0                BNE  TASTE1
    43  0451  D6 00                LDB  $0
    44  0453  C8 FF                EORB #$FF
    45  0455  5C                   INCB
    46  0456  86 40                LDA  #$40
    47  0458  20 EA                BRA  DARST
    49  045A  10 8E 03 E8  FALSCH  LDY  #$03E8
    50  045E  BD F1 60             JSR  DLY1MS
    51  0461  20 9D                BRA  START
    52  0463                       END
    53      F160           DLY1MS    EQU  $F160
    54      F110           CLRDISP   EQU  $F110
    55      F120           SHOWB7SG  EQU  $F120
    56      F143           HALTKEY   EQU  $F143
    57      F116           SHOWD     EQU  $F116
    58      F113           SHOWA     EQU  $F113
    59      F11C           SHOWT7SG  EQU  $F11C

Zu P5.3-3:

    1       F100        T7SG      EQU  $F100
    2       F110        CLRDISP   EQU  $F110
    3       F133        SHOWDBUF  EQU  $F133
    4       F139        RLDBUF    EQU  $F139
    5       F13C        COPYDBUF  EQU  $F13C
    6       F140        KEY       EQU  $F140
    7       F143        HALTKEY   EQU  $F143
    8       F113        SHOWA     EQU  $F113
    9       F11C        SHOWT7SG  EQU  $F11C
    10      F156        SHOWADR   EQU  $F156
    11      F160        DLY1MS    EQU  $F160
    12
    13  0600                     ORG  $0600
    14  0600  40        TABELLE  DB   $40
    15  0601  79                 DB   $79
    16  0602  24                 DB   $24
    17  0603  30                 DB   $30
    18  0604  19                 DB   $19
    19  0605  12                 DB   $12
    20  0606  02                 DB   $02
    21  0607  78                 DB   $78
    22  0608  00                 DB   $00
    23  0609  10                 DB   $18
    24  060A  08                 DB   $08
    25  060B  03                 DB   $03
    26  060C  27                 DB   $27
    27  060D  21                 DB   $21
    28  060E  06                 DB   $06
    29  060F  0E                 DB   $0E
    30  0610
    31
    32  0400                     ORG  $0400
    33  0400  BD F1 10  EINGABE  JSR  CLRDISP
    34  0403  CE 06 00           LDU  #$0600
    35  0406  8E 00 05           LDX  #$5
    36  0409  BD F1 43       L2  JSR  HALTKEY
    37  040C  2B FB              BMI  L2
    38  040E  E7 84              STB  ,X
    39  0410  BD F1 1C           JSR  SHOWT7SG
    40  0413  30 1F              LEAX -1,X
    41  0415  8C 00 01           CMPX #1
    42  0418  26 EF              BNE  L2
    43
    44  041A  BD F1 43   WEITER  JSR  HALTKEY
    45  041D  C1 86              CMPB #$86
    46  041F  27 DF              BEQ  EINGABE
    47  0421  C1 82              CMPB #$84
    48  0423  26 04              BNE  L1
    49  0425  D7 01              STB  $1
    50  0427  20 06              BRA  L4
    51  0429  C4 03          L1  ANDB #$3
    52  042B  D7 00              STB  $0
    53  042D  D7 01              STB  $1
    54
    55  042F  8E 00 05       L4  LDX  #$5
    56  0432  E6 84      INVERT  LDB  ,X
    57  0434  0D 00              TST  $0
    58  0436  27 07              BEQ  PLUS
    59
    60  0438  A6 C5       MINUS  LDA  B,U
    61  043A  BD F1 13           JSR  SHOWA
    62  043D  20 03              BRA  NEXT
    63  043F  BD F1 1C     PLUS  JSR  SHOWT7SG
    64
    65  0442  30 1F        NEXT  LEAX -1,X
    66  0444  8C 00 01           CMPX #1
    67  0447  26 E9              BNE  INVERT
    68
    69  0449  0D 01              TST  $1
    70  044B  2A CD              BPL  WEITER
    71  044D  10 8E 01 00        LDY  #$0100
    72  0451  BD F1 60           JSR  DLY1MS
    73  0454  96 00              LDA  $0
    74  0456  88 FF              EORA #$FF
    75  0458  84 01              ANDA #$1
    76  045A  97 00              STA  $0
    77  045C  BD F1 40           JSR  KEY
    78  045F  C1 83              CMPB #$82
    79  0461  26 CC              BNE  L4
    80  0463  20 B5              BRA  WEITER
    81  0465                     END

Zu P5.3-4:

    1       F110         CLRDISP   EQU  $F110
    2       F143         HALTKEY   EQU  $F143
    3       F140         KEY       EQU  $F140
    4       F120         SHOWB7SG  EQU  $F120
    5       F123         SHOWD7SG  EQU  $F123
    6       F156         SHOWADR   EQU  $F156
    7       F113         SHOWA     EQU  $F113
    8       F116         SHOWD     EQU  $F116
    9       F11C         SHOWT7SG  EQU  $F11C
    10      F160         DLY1MS    EQU  $F160
    11      0000         HZ0       EQU  $0
    12      0001         HZ1       EQU  $1
    13
    14  0400                    ORG  $0400
    15  0400  BD F1 10   START  JSR  CLRDISP
    16  0403  8E 00 02          LDX  #2
    17  0406  BD F1 56          JSR  SHOWADR
    18  0409  C1 82             CMPB #$82
    19  040B  26 F3             BNE  START
    20  040D  1F 23             TFR  Y,U
    21  040F  C6 01             LDB  #1
    22  0411  D7 00             STB  HZ0
    23
    24  0413  D6 00         L4  LDB  HZ0
    25  0415  8E 00 00          LDX  #0
    26  0418  BD F1 20          JSR  SHOWB7SG
    27  041B  8E 00 02          LDX  #2
    28  041E  BD F1 56          JSR  SHOWADR
    29
    30  0421  C1 80         L1  CMPB #$80
    31  0423  26 06             BNE  L2
    32
    33                    PLUS  ; Taste '+'
    34  0425  36 20             PSHU Y
    35  0427  0C 00             INC  HZ0
    36  0429  20 E8             BRA  L4
    37
    38  042B  C1 81         L2  CMPB #$81
    39  042D  27 05             BEQ  MINUS
    40  042F  BD F1 43          JSR  HALTKEY
    41  0432  20 DF             BRA  L4
    42
    43                   MINUS  ;Taste '-'
    44  0434  0A 00             DEC  HZ0
    45  0436  27 19             BEQ  L10
    46  0438  D6 00             LDB  HZ0
    47  043A  8E 00 00          LDX  #0
    48  043D  BD F1 20          JSR  SHOWB7SG
    49  0440  8E 00 02          LDX  #2
    50  0443  37 06             PULU B,A
    51  0445  BD F1 23          JSR  SHOWD7SG
    52  0448  BD F1 43          JSR  HALTKEY
    53  044B  C1 81             CMPB #$81
    54  044D  27 E5             BEQ  MINUS
    55  044F  20 C2             BRA  L4
    56
    57  0451  C6 50        L10  LDB  #$50
    58  0453  8E 00 06          LDX  #6
    59  0456  BD F1 10          JSR  CLRDISP
    60  0459  BD F1 20          JSR  SHOWB7SG
    61  045C  10 8E 01 00   L7  LDY  #$03E8
    62  0460  BD F1 60          JSR  DLY1MS
    63  0463  20 9B             BRA  START
    64  0465                    END

Zu P5.3-5:

    1       F110           CLRDISP   EQU  $F110
    2
    3       F140           KEY       EQU  $f140
    4       F143           HALTKEY   EQU  $F143
    5       F11C           SHOWT7SG  EQU  $F11C
    6       F120           SHOWB7SG  EQU  $F120
    7       F123           SHOWD7SG  EQU  $F123
    8       F156           SHOWADR   EQU  $F156
    9       F113           SHOWA     EQU  $F113
    10      F116           SHOWD     EQU  $F116
    11      F160           DLY1MS    EQU  $F160
    12      0000           HZ        EQU  $10
    13
    14  0400                      ORG  $0400
    15  0400  BD F1 10     START  JSR  CLRDISP
    16  0403  10 8E 01 00         LDY  #$01F4
    17
    18  0407  8E 00 01        L1  LDX  #1
    19  040A  1F 89               TFR  A,B        ; Default A=$00
    20  040C  7F F0 20            CLR  $F020
    21  040F  7F F0 28            CLR  $F028
    22  0412  BD F1 1C            JSR  SHOWT7SG
    23  0415  BD F1 43            JSR  HALTKEY
    24  0418  30 1F               LEAX -1,X
    25  041A  C4 0F               ANDB #$0F
    26  041C  E7 C6               STB  A,U        ; Default U=$0000
    27  041E  BD F1 1C            JSR  SHOWT7SG
    28  0421  BD F1 60            JSR  DLY1MS
    29  0424  4C            INCA
    30  0425  81 10               CMPA #$10
    31  0427  26 DE               BNE  L1
    32
    33  0429  CE 04 00            LDU  #$0400
    34  042C  8E 00 02        L2  LDX  #2
    35  042F  1F 30               TFR  U,D
    36  0431  BD F1 23            JSR  SHOWD7SG
    37  0434  30 1E               LEAX -2,X
    38  0436  E6 C0               LDB  ,U+
    39  0438  BD F1 20            JSR  SHOWB7SG
    40  043B  1F 98               TFR  B,A
    41  043D  C4 0F               ANDB #$F
    42  043F  E6 85               LDB  B,X
    43  0441  D7 00               STB  $0
    44  0443  44                  LSRA
    45  0444  44                  LSRA
    46  0445  44                  LSRA
    47  0446  44                  LSRA
    48  0447  E6 86               LDB  A,X
    49  0449  58            ASLB
    50  044A  58            ASLB
    51  044B  58            ASLB
    52  044C  58            ASLB
    53  044D  DA 00               ORB  $0
    54  044F  30 06               LEAX 6,X
    55  0451  BD F1 20            JSR  SHOWB7SG
    56  0454  BD F1 60            JSR  DLY1MS
    57  0457  BD F1 40            JSR  KEY
    58  045A  C1 86               CMPB #$86
    59  045C  26 CE               BNE  L2
    60  045E  3F             SWI
    61
    62  045F                      END

Zu P5.3-6:

    1       F110           CLRDISP   EQU  $F110
    2
    3       F140           KEY       EQU  $f140
    4       F143           HALTKEY   EQU  $F143
    5       F11C           SHOWT7SG  EQU  $F11C
    6       F120           SHOWB7SG  EQU  $F120
    7       F123           SHOWD7SG  EQU  $F123
    8       F156           SHOWADR   EQU  $F156
    9       F150           SHOWDATA  EQU  $F150
    10      F113           SHOWA     EQU  $F113
    11      F116           SHOWD     EQU  $F116
    12      F160           DLY1MS    EQU  $F160
    13      0000           HZ        EQU  $0
    14
    15  0400                      ORG  $0400
    16  0400  BD F1 10     START  JSR  CLRDISP
    17  0403  10 8E 01 00         LDY  #$0100
    18  0407  CC 01 23            LDD  #$0123
    19  040A  CE 00 00            LDU  #0
    20  040D  8E 00 04        L1  LDX  #4
    21  0410  BD F1 23            JSR  SHOWD7SG
    22  0413  C3 44 44            ADDD #$4444
    23  0416  34 06               PSHS B,A
    24  0418  30 1C               LEAX -4,X
    25  041A  BD F1 56            JSR  SHOWADR
    26  041D  10 AF C1            STY  ,U++
    27  0420  35 06               PULS B,A
    28  0422  11 83 00 08         CMPU #8
    29  0426  26 E5               BNE  L1
    30
    31  0428  10 8E 01 00         LDY  #$0100
    32  042C  BD F1 10        L2  JSR  CLRDISP
    33  042F  8E 00 00            LDX  #0
    34  0432  BD F1 50            JSR  SHOWDATA
    35  0435  97 11               STA  $11
    36  0437  84 0F               ANDA #$F
    37  0439  44                  LSRA
    38  043A  E6 86               LDB  A,X
    39  043C  25 04               BCS  L20
    40  043E  54            LSRB
    41  043F  54                  LSRB
    42  0440  54                  LSRB
    43  0441  54                  LSRB
    44  0442  C4 0F          L20  ANDB #$F
    45  0444  D7 10               STB  $10
    46
    47  0446  96 11               LDA  $11
    48  0448  44                  LSRA
    49  0449  44                  LSRA
    50  044A  44            LSRA
    51  044B  44            LSRA
    52  044C  44            LSRA
    53  044D  E6 86               LDB  A,X
    54  044F  24 04               BCC  L30
    55  0451  58                  LSLB
    56  0452  58                  LSLB
    57  0453  58                  LSLB
    58  0454  58                  LSLB
    59  0455  C4 F0          L30  ANDB #$F0
    60  0457  DA 10               ORB  $10
    61
    62  0459  8E 00 06            LDX  #6
    63  045C  BD F1 20            JSR  SHOWB7SG
    64  045F  BD F1 60            JSR  DLY1MS
    65  0462  20 C8               BRA  L2
    66
    67  0464                   END

Zu P5.3-7:

    1          F110        CLRDISP   EQU  $F110
    2          F143        HALTKEY   EQU  $F143
    3          F120        SHOWB7SG  EQU  $F120
    4          F123        SHOWD7SG  EQU  $F123
    5          F156        SHOWADR   EQU  $F156
    6          F113        SHOWA     EQU  $F113
    7          F116        SHOWD     EQU  $F116
    8          F160        DLY1MS    EQU  $F160
    9          0000        HZ        EQU  $0
    10
    11  0400                      ORG  $0400
    12  0400  BD F1 10     START  JSR  CLRDISP
    13  0403  CE 10 00            LDU  #$1000
    14  0406  10 8E 01 00         LDY  #$0100
    15  040A  BD F1 43        L1  JSR  HALTKEY
    16  040D  5D                  TSTB
    17  040E  2B 07               BMI  L4
    18  0410  36 04               PSHU B
    19  0412  BD 06 00            JSR  UP
    20  0415  20 F3               BRA  L1
    21
    22  0417  C1 80           L4  CMPB #$80
    23  0419  27 1A               BEQ  PLUS
    24  041B  C1 81               CMPB #$81
    25  041D  26 EB               BNE  L1
    26
    27  041F  34 40        MINUS  PSHS U          ;'-'
    28  0421  11 83 10 00     L6  CMPU #$1000
    29  0425  27 0A               BEQ  L10
    30  0427  37 04               PULU B
    31  0429  BD 06 00            JSR  UP
    32  042C  BD F1 60            JSR  DLY1MS
    33  042F  20 F0               BRA  L6
    34  0431  35 40          L10  PULS U
    35  0433  20 D5               BRA  L1
    36
    37  0435  11 83 10 00   PLUS  CMPU #$1000     ;'+'
    38  0439  27 CF               BEQ  L1
    39  043B  DF 00               STU  HZ
    40  043D  CE 10 00            LDU  #$1000
    41  0440  E6 C2           L5  LDB  ,-U
    42  0442  BD 06 00            JSR  UP
    43  0445  BD F1 60            JSR  DLY1MS
    44  0448  11 93 00            CMPU HZ
    45  044B  22 F3               BHI  L5
    46  044D  20 BB               BRA  L1
    47
    48
    49  0600                      ORG  $600
    50  0600  BD F1 10        UP  JSR  CLRDISP
    51  0603  8E 00 00            LDX  #0
    52  0606  86 40               LDA  #$40
    53  0608  C4 07               ANDB #$07
    54  060A  3A              L2  ABX
    55  060B  BD F1 13        L3  JSR  SHOWA
    56  060E  30 1F               LEAX -1,X
    57  0610  8C FF FF            CMPX #$FFFF
    58  0613  26 F6               BNE  L3
    59  0615  39                  RTS
    60  0616
    61
    62  0616                     END

Zu P5.3-8:

    1       F110           CLRDISP   EQU  $F110
    2       F11C           SHOWT7SG  EQU  $F11C
    3       F133           SHOWDBUF  EQU  $F133
    4       F130           CLDBUF    EQU  $F130
    5       F140           KEY       EQU  $F140
    6       F143           HALTKEY   EQU  $F143
    7       F160           DLY1MS    EQU  $F160
    8       0010           MODE      EQU  $0010
    9
    10  0400                      ORG  $0400
    11  0400  BD F1 10     START  JSR  CLRDISP
    12  0403  C6 0E               LDB  #$E
    13  0405  BD F1 1C            JSR  SHOWT7SG
    14  0408  BD F1 43     MODUS  JSR  HALTKEY
    15  040B  C1 82               CMPB #$82
    16  040D  26 04               BNE  L3
    17  040F  86 01               LDA  #$01
    18  0411  20 06               BRA  L5
    19  0413  C1 83           L3  CMPB #$83
    20  0415  26 F1               BNE  MODUS
    21  0417  86 40               LDA  #$40
    22  0419  97 10           L5  STA  MODE
    23  041B  BD F1 30            JSR  CLDBUF
    24  041E  86 08               LDA  #$8
    25  0420  BD F1 40        L1  JSR  KEY
    26  0423  C1 FF               CMPB #$FF
    27  0425  27 F9               BEQ  L1
    28  0427  C1 80               CMPB #$80
    29  0429  26 14               BNE  NPLUS
    30
    31  042B  4D                  TSTA
    32  042C  27 F2               BEQ  L1
    33  042E  4A                  DECA
    34  042F  D6 10               LDB  MODE
    35  0431  E7 86               STB  A,X
    36  0433  BD F1 33        L2  JSR  SHOWDBUF
    37  0436  10 8E 00 10         LDY  #$0010
    38  043A  BD F1 60            JSR  DLY1MS
    39  043D  20 E1               BRA  L1
    40  043F  C1 81        NPLUS  CMPB #$81
    41  0441  26 0D               BNE  NMINUS
    42  0443  81 08               CMPA #$8
    43  0445  27 D9               BEQ  L1
    44  0447  C6 00               LDB  #$00
    45  0449  E7 86               STB  A,X
    46  044B  4C                  INCA
    47  044C  C6 00               LDB  #$00
    48  044E  20 E3               BRA  L2
    49  0450  C1 84       NMINUS  CMPB #$84
    50  0452  27 AC               BEQ  START
    51  0454  C1 86               CMPB #$86
    52  0456  26 C8               BNE  L1
    53  0458  86 07               LDA  #$7
    54  045A  D6 10               LDB  MODE
    55  045C  E7 86           L4  STB  A,X
    56  045E  4A                  DECA
    57  045F  2A FB               BPL  L4
    58  0461  86 00               LDA  #$0
    59  0463  20 CE               BRA  L2
    60  0465                      END

Zu P5.3-9:

    1       F110           CLRDISP   EQU  $F110
    2       F133           SHOWDBUF  EQU  $F133
    3       F130           CLDBUF    EQU  $F130
    4       F140           KEY       EQU  $F140
    5       F160           DLY1MS    EQU  $F160
    6
    7
    8   0400                      ORG  $0400
    9   0400  BD F1 10     START  JSR  CLRDISP
    10  0403  BD F1 30            JSR  CLDBUF
    11  0406  C6 01               LDB  #1
    12  0408  86 07               LDA  #$7
    13  040A  E7 86               STB  A,X
    14  040C  BD F1 33        L1  JSR  SHOWDBUF
    15  040F  BD F1 40            JSR  KEY
    16  0412  C1 FF               CMPB #$FF
    17  0414  26 08               BNE  KEY1
    18  0416  11 83 00 00         CMPU #0
    19  041A  27 F0               BEQ  L1
    20  041C  20 04               BRA  L3
    21  041E  C1 86         KEY1  CMPB #$86
    22  0420  26 1D               BNE  NSTART
    23  0422  10 8E 00 04     L3  LDY  #$0004
    24  0426  BD F1 60            JSR  DLY1MS
    25  0429  E6 86               LDB  A,X
    26  042B  58                  LSLB
    27  042C  E7 86               STB  A,X
    28  042E  C1 40               CMPB #$40
    29  0430  25 DA               BLO  L1
    30  0432  6F 86               CLR  A,X
    31  0434  4A                  DECA
    32  0435  2A 02               BPL  L2
    33  0437  86 07               LDA  #$7
    34  0439  C6 01           L2  LDB  #1
    35  043B  E7 86               STB  A,X
    36  043D  20 CD               BRA  L1
    37  043F
    38  043F  C1 80       NSTART  CMPB #$80
    39  0441  26 05               BNE  NPLUS
    40  0443  CE 00 01            LDU  #1
    41  0446  20 C4               BRA  L1
    42  0448  C1 81        NPLUS  CMPB #$81
    43  044A  26 05               BNE  NMINUS
    44  044C  CE 00 00            LDU  #0
    45  044F  20 BB               BRA  L1
    46  0451
    47  0451  C1 84       NMINUS  CMPB #$84
    48  0453  26 B7               BNE  L1
    49  0455  BD F1 30            JSR  CLDBUF
    50  0458  CC 07 01            LDD  #$0701
    51  045B  E7 86               STB  A,X
    52  045D  CE 00 00            LDU  #0
    53  0460  20 AA               BRA  L1
    54  0462                      END

Zu P5.3-10:

    1       F110           CLRDISP   EQU  $F110
    2
    3       F140           KEY       EQU  $f140
    4       F143           HALTKEY   EQU  $F143
    5       F11C           SHOWT7SG  EQU  $F11C
    6       F120           SHOWB7SG  EQU  $F120
    7       F123           SHOWD7SG  EQU  $F123
    8       F156           SHOWADR   EQU  $F156
    9       F113           SHOWA     EQU  $F113
    10      F116           SHOWD     EQU  $F116
    11      F160           DLY1MS    EQU  $F160
    12      0000           HZ        EQU  $0
    13
    14  0400                      ORG  $0400
    15  0400  BD F1 10     START  JSR  CLRDISP
    16  0403  C6 87               LDB  #$87
    17  0405  20 39               BRA  L2
    18  0407  BD F1 40        L1  JSR  KEY
    19  040A  2B 34               BMI  L2
    20
    21  040C  8E 00 00            LDX  #0
    22  040F  BD F1 1C            JSR  SHOWT7SG
    23
    24  0412  11 83 00 00         CMPU #0
    25  0416  26 04               BNE  L4
    26  0418  C4 0C               ANDB #$0C         ; "L"
    27  041A  20 02               BRA  L5
    28  041C  C4 03           L4  ANDB #$03         ; "S"
    29
    30  041E  D7 00           L5  STB  $0
    31  0420  1F 98               TFR  B,A
    32  0422  48                  LSLA
    33  0423  48                  LSLA
    34  0424  48                  LSLA
    35  0425  48                  LSLA
    36  0426  9A 00               ORA  $0
    37  0428  1F 89               TFR  A,B
    38
    39  042A  11 83 00 00         CMPU #0
    40  042E  26 05               BNE  L6
    41  0430  C3 01 23            ADDD #$0123       ; "L"
    42  0433  20 03               BRA  L7
    43  0435  C3 04 8C        L6  ADDD #$048C       ; "S"
    44
    45  0438  8E 00 02        L7  LDX  #2
    46  043B  BD F1 23            JSR  SHOWD7SG
    47  043E  20 C7               BRA  L1
    48
    49  0440  8E 00 07        L2  LDX  #7
    50  0443  C1 86               CMPB #$86
    51  0445  26 07               BNE  L3
    52  0447  CE FF FF            LDU  #$FFFF
    53  044A  86 6D               LDA  #$6D         ;"S"
    54  044C  20 09               BRA  MODE
    55
    56  044E  C1 87           L3  CMPB #$87
    57  0450  26 0D               BNE  L9
    58
    59  0452  CE 00 00            LDU  #$0000
    60  0455  86 38               LDA  #$38         ;"L"
    61
    62  0457  BD F1 10      MODE  JSR  CLRDISP
    63  045A  BD F1 13            JSR  SHOWA
    64  045D  20 A8               BRA  L1
    65  045F
    66  045F  C1 84           L9  CMPB #$84
    67  0461  26 A4               BNE  L1
    68  0463  3F                  SWI
    69  0464                      END

Zu P5.3-11:

    1       F110           CLRDISP   EQU  $F110
    2
    3       F140           KEY       EQU  $f140
    4       F143           HALTKEY   EQU  $F143
    5       F11C           SHOWT7SG  EQU  $F11C
    6       F120           SHOWB7SG  EQU  $F120
    7       F123           SHOWD7SG  EQU  $F123
    8       F156           SHOWADR   EQU  $F156
    9       F113           SHOWA     EQU  $F113
    10      F116           SHOWD     EQU  $F116
    11      F160           DLY1MS    EQU  $F160
    12      0000           HZ        EQU  $0
    13
    14  0400                      ORG  $0400
    15  0400  20 18        START  BRA  L12
    16
    17
    18  0402  BD F1 40        L1  JSR  KEY
    19  0405  2A 1E               BPL  L10
    20
    21  0407  C1 82               CMPB #$82   ; "A" = Koordinaten
    22  0409  26 06               BNE  L11
    23  040B  5F            CLRB
    24  040C  CE 00 00            LDU  #0
    25  040F  20 09               BRA  L12
    26  0411  C1 83          L11  CMPB #$83   ; "D" = Quadranten
    27  0413  26 ED               BNE  L1
    28  0415  C6 01               LDB  #1
    29  0417  CE 00 01            LDU  #1
    30
    31  041A  8E 00 07       L12  LDX  #7
    32  041D  BD F1 10            JSR  CLRDISP
    33  0420  BD F1 1C            JSR  SHOWT7SG
    34  0423  20 DD               BRA  L1
    35
    36  0425  34 04          L10  PSHS B
    37  0427  8E 00 00            LDX  #0
    38  042A  BD F1 1C            JSR  SHOWT7SG
    39
    40  042D  8E 00 03            LDX  #3
    41  0430  11 83 00 00         CMPU #0
    42  0434  26 1C               BNE  L15
    43  0436  86 1C               LDA  #$1C   ;"u"
    44  0438  C4 08               ANDB #$08   ;"0,..,7" oder "8,..,F"
    45  043A  27 02               BEQ  L51
    46  043C  86 5C               LDA  #$5C   ;"o"
    47  043E  BD F1 13       L51  JSR  SHOWA
    48
    49  0441  30 1F           L5  LEAX -1,X
    50  0443  86 30               LDA  #$38   ;"l"
    51  0445  35 04               PULS B
    52  0447  C4 02               ANDB #$02
    53  0449  27 02               BEQ  L4
    54  044B  86 50               LDA  #$50   ;"r"
    55  044D  BD F1 13        L4  JSR  SHOWA
    56  0450  20 B0               BRA  L1
    57
    58  0452  1F 98          L15  TFR  B,A
    59  0454  84 03               ANDA #3
    60  0456  97 00               STA  $0
    61  0458  C4 0C               ANDB #$C
    62  045A  58                  LSLB
    63  045B  58                  LSLB
    64  045C  DA 00               ORB  $0
    65  045E  8E 00 02            LDX  #2
    66  0461  BD F1 20            JSR  SHOWB7SG
    67
    68  0464  20 9C               BRA  L1
    69
    70  0466                      END

Zu P5.3-12:

    1       F110           CLRDISP   EQU  $F110
    2       F143           HALTKEY   EQU  $F143
    3       F140           KEY       EQU  $F140
    4       F120           SHOWB7SG  EQU  $F120
    5       F123           SHOWD7SG  EQU  $F123
    6       F156           SHOWADR   EQU  $F156
    7       F113           SHOWA     EQU  $F113
    8       F116           SHOWD     EQU  $F116
    9       F11C           SHOWT7SG  EQU  $F11C
    10      F160           DLY1MS    EQU  $F160
    11      0000           HZ0       EQU  $0
    12      0001           HZ1       EQU  $1
    13
    14  0400                      ORG  $0400
    15  0400               START
    16  0400  0F 00           L5  CLR  HZ0
    17  0402  0F 01               CLR  HZ1
    18  0404  10 8E 01 00         LDY  #$0100
    19  0408  BD F1 10            JSR  CLRDISP
    20  040B  BD F1 43        L8  JSR  HALTKEY
    21  040E  C1 86               CMPB #$86
    22  0410  26 F9               BNE  L8
    23  0412  BD F1 60            JSR  DLY1MS
    24  0415  BD F1 10        L1  JSR  CLRDISP
    25  0418  BD F1 40            JSR  KEY
    26
    27  041B  C1 FF               CMPB #$FF
    28  041D  27 F6               BEQ  L1
    29  041F  8E 00 00            LDX  #$0000
    30  0422  2A 06               BPL  L4
    31
    32  0424  86 0F               LDA  #$F     ; Funktionstaste
    33  0426  0C 01               INC  HZ1
    34  0428  20 04               BRA  L3
    35  042A  86 0D           L4  LDA  #$D     ; Datentaste
    36  042C  0C 00               INC  HZ0
    37
    38  042E  C4 07           L3  ANDB #$07
    39  0430  3A                  ABX
    40  0431  1F 89               TFR  A,B
    41  0433  BD F1 1C            JSR  SHOWT7SG
    42  0436  36 04               PSHU B
    43  0438  BD F1 60            JSR  DLY1MS
    44  043B  BD F1 40        L2  JSR  KEY
    45  043E  C1 FF               CMPB #$FF
    46  0440  26 F9               BNE  L2
    47
    48  0442  DC 00               LDD  HZ0
    49  0444  D1 00               CMPB HZ0
    50  0446  24 02               BHS  GREATER
    51  0448  1E 89               EXG  A,B
    52  044A  C1 0A      GREATER  CMPB #$A
    53  044C  25 C7               BLO  L1
    54
    55  044E  BD F1 10            JSR  CLRDISP
    56  0451  8E 00 07            LDX  #7
    57  0454  D6 00               LDB  HZ0
    58  0456  BD F1 1C            JSR  SHOWT7SG
    59  0459  8E 00 00            LDX  #0
    60  045C  D6 01               LDB  HZ1
    61  045E  BD F1 1C            JSR  SHOWT7SG
    62  0461  BD F1 60            JSR  DLY1MS
    63  0464  20 9A               BRA  L5
    64  0466                      END

Zu P5.3-13:

    1       F100         T7SG      EQU  $F100
    2       F110         CLRDISP   EQU  $F110
    3       F133         SHOWDBUF  EQU  $F133
    4       F139         RLDBUF    EQU  $F139
    5       F13C         COPYDBUF  EQU  $F13C
    6       F140         KEY       EQU  $F140
    7       F143         HALTKEY   EQU  $F143
    8       F11C         SHOWT7SG  EQU  $F11C
    9       F160         DLY1MS    EQU  $F160
    10
    11
    12  0400                      ORG  $0400
    13  0400  BD F1 10   EINGABE  JSR  CLRDISP
    14  0403  86 07               LDA  #$7
    15  0405  1F 89           L1  TFR  A,B
    16  0407  1F 01               TFR  D,X
    17  0409  BD F1 43            JSR  HALTKEY
    18  040C  C1 0A               CMPB #$A
    19  040E  24 F5               BHS  L1
    20  0410  BD F1 1C            JSR  SHOWT7SG
    21  0413  34 02               PSHS A
    22  0415  8E 00 00            LDX  #0
    23  0418  BD F1 00            JSR  T7SG
    24  041B  35 04               PULS B
    25  041D  A7 85               STA  B,X
    26  041F  1F 98               TFR  B,A
    27  0421  4A                  DECA
    28  0422  2A E1               BPL  L1
    29  0424  8E 00 10            LDX  #$10
    30  0427  10 8E 00 00         LDY  #$00
    31  042B  BD F1 3C            JSR  COPYDBUF
    32  042E  1E 12               EXG  X,Y
    33  0430  BD F1 33    WEITER  JSR  SHOWDBUF
    34  0433  BD F1 43            JSR  HALTKEY
    35  0436  C1 80               CMPB #$80
    36  0438  26 05               BNE  NPLUS
    37  043A  BD F1 39            JSR  RLDBUF
    38  043D  20 F1               BRA  WEITER
    39  043F  C1 84        NPLUS  CMPB #$84
    40  0441  26 09               BNE  NRESET
    41  0443  10 8E 00 10         LDY  #$10
    42  0447  BD F1 3C            JSR  COPYDBUF
    43  044A  20 E4               BRA  WEITER
    44  044C  C1 85       NRESET  CMPB #$85
    45  044E  26 E0               BNE  WEITER
    46  0450  10 8E 04 00         LDY  #$400
    47  0454  BD F1 60        L2  JSR  DLY1MS
    48  0457  BD F1 39            JSR  RLDBUF
    49  045A  BD F1 33            JSR  SHOWDBUF
    50  045D  BD F1 40            JSR  KEY
    51  0460  C1 86               CMPB #$86
    52  0462  26 F0               BNE  L2
    53  0464  20 CA               BRA  WEITER
    54  0466                      END

Zu P5.3-14:

    1   0400                      ORG  $0400
    2   0400  BD F1 10     START  JSR  CLRDISP
    3   0403  8E 00 06            LDX  #6
    4   0406  C6 5A               LDB  #$5A
    5   0408  BD F1 20            JSR  SHOWB7SG
    6   040B  8E 00 02            LDX  #2
    7   040E  BD F1 56            JSR  SHOWADR
    8   0411  10 9F 00            STY  $0
    9   0414  8E 00 06            LDX  #6
    10  0417  C6 EA               LDB  #$EA
    11  0419  BD F1 20            JSR  SHOWB7SG
    12  041C  8E 00 02            LDX  #2
    13  041F  BD F1 56            JSR  SHOWADR
    14  0422  BD F1 10            JSR  CLRDISP
    15  0425  1F 20               TFR  Y,D
    16  0427  93 00               SUBD $0
    17  0429  2A 06               BPL  POSITIV
    18  042B  81 FF               CMPA #$FF
    19  042D  27 0D               BEQ  SHORT
    20  042F  20 03               BRA  LONG
    21  0431  4D         POSITIV  TSTA
    22  0432  27 08               BEQ  SHORT
    23  0434  BD F1 23      LONG  JSR  SHOWD7SG
    24  0437  CC 38 7C            LDD  #$387C
    25  043A  20 06               BRA  DARST
    26  043C  BD F1 20     SHORT  JSR  SHOWB7SG
    27  043F  CC 6D 7C            LDD  #$6D7C
    28  0442  8E 00 06     DARST  LDX  #6
    29  0445  BD F1 16            JSR  SHOWD
    30  0448  BD F1 43     TASTE  JSR  HALTKEY
    31  044B  C1 80               CMPB #$80
    32  044D  27 B1               BEQ  START
    33  044F  C1 81               CMPB #$81
    34  0451  26 F5               BNE  TASTE
    35  0453  8E 00 04            LDX  #4
    36  0456  DC 00               LDD  $0
    37  0458  BD F1 23            JSR  SHOWD7SG
    38  045B  8E 00 00            LDX  #0
    39  045E  1F 20               TFR  Y,D
    40  0460  BD F1 23            JSR  SHOWD7SG
    41  0463  20 E3               BRA  TASTE
    42  0465                      END
    44      F110           CLRDISP   EQU  $F110
    45      F143           HALTKEY   EQU  $F143
    46      F113           SHOWA     EQU  $F113
    47      F156           SHOWADR   EQU  $F156
    48      F116           SHOWD     EQU  $F116
    49      F120           SHOWB7SG  EQU  $F120
    50      F123           SHOWD7SG  EQU  $F123
    51

Zu P5.3-15:

    1       F110         CLRDISP   EQU $F110
    2       F143         HALTKEY   EQU $F143
    3       F120         SHOWB7SG  EQU $F120
    4       F123         SHOWD7SG  EQU $F123
    5       F156         SHOWADR   EQU $F156
    6       F150         SHOWDATA  EQU $F150
    7       F116         SHOWD     EQU $F116
    8       F160         DLY1MS    EQU $F160
    9       0000         E0        EQU $0
    10      0001         E1        EQU $1
    11
    12
    13  0400                      ORG  $0400
    14  0400  BD F1 10   EINGABE  JSR  CLRDISP
    15  0403  8E 00 06            LDX  #$0006
    16  0406  C6 E0               LDB  #$E0
    17  0408  BD F1 20            JSR  SHOWB7SG
    18  040B  8E 00 04            LDX  #$0004
    19  040E  BD F1 50            JSR  SHOWDATA
    20  0411  97 00               STA  E0
    21  0413  8E 00 02            LDX  #$0002
    22  0416  C6 E1               LDB  #$E1
    23  0418  BD F1 20            JSR  SHOWB7SG
    24  041B  8E 00 00            LDX  #$0000
    25  041E  BD F1 50            JSR  SHOWDATA
    26  0421  97 01               STA  E1
    27
    28  0423  BD F1 10     START  JSR  CLRDISP
    29  0426  CE 04 00            LDU  #$0400
    30  0429  96 00        LOOP1  LDA  E0
    31  042B  A1 C4               CMPA ,U
    32  042D  27 0B               BEQ  GEFUND1
    33  042F  33 41               LEAU 1,U
    34  0431  1F 30               TFR  U,D
    35  0433  5D                  TSTB
    36  0434  26 F3               BNE  LOOP1
    37  0436  D6 00               LDB  E0
    38  0438  20 22               BRA  NICHT
    39
    40  043A  8E 00 02   GEFUND1  LDX  #$0002
    41  043D  1F 30               TFR  U,D
    42  043F  BD F1 23            JSR  SHOWD7SG
    43  0442  8E 00 00            LDX  #$0000
    44  0445  E6 C0               LDB  ,U+
    45  0447  BD F1 20            JSR  SHOWB7SG
    46  044A  10 8E 01 00         LDY  #$0100
    47  044E  BD F1 60            JSR  DLY1MS
    48  0451  D1 01               CMPB E1
    49  0453  27 0D               BEQ  ENDE
    50  0455  1F 30               TFR  U,D
    51  0457  5D                  TSTB
    52  0458  26 E0               BNE  GEFUND1
    53  045A  D6 01               LDB  E1
    54
    55  045C  BD F1 10     NICHT  JSR  CLRDISP
    56  045F  BD F1 20            JSR  SHOWB7SG
    57
    58  0462  13            ENDE  SYNC
    59  0463                      END

Zu P5.3-16:

    1       F110              CLRDISP EQU $F110
    2       F140              KEY EQU $F140
    3       F143              HALTKEY EQU $F143
    4       F120              SHOWB7SG EQU $F120
    5       F123              SHOWD7SG EQU $F123
    6       F156              SHOWADR EQU $F156
    7       F150              SHOWDATA EQU $F150
    8       F116              SHOWD EQU $F116
    9       F160              DLY1MS EQU $F160
    10      0000             E0 EQU $0
    11      0001             E1 EQU $1
    12
    13
    14  0400                      ORG $0400
    15  0400  BD F1 10   EINGABE  JSR CLRDISP
    16  0403  8E 00 06            LDX #$0006
    17  0406  C6 E0               LDB #$E0
    18  0408  BD F1 20            JSR SHOWB7SG
    19  040B  8E 00 00            LDX #$0000
    20  040E  BD F1 50            JSR SHOWDATA
    21  0411  97 00               STA E0
    22  0413  8E 00 06            LDX #$0006
    23  0416  C6 E1               LDB #$E1
    24  0418  BD F1 20            JSR SHOWB7SG
    25  041B  8E 00 00            LDX #$0000
    26  041E  BD F1 50            JSR SHOWDATA
    27  0421  97 01               STA E1
    28
    29  0423  CE 04 00     START  LDU #$0400
    30  0426  BD F1 10     LOOP1  JSR  CLRDISP
    31  0429  1F 30               TFR U,D
    32  042B  8E 00 02            LDX #$0002
    33  042E  BD F1 23            JSR SHOWD7SG
    34  0431  E6 C0               LDB ,U+
    35  0433  8E 00 00            LDX #$0000
    36  0436  BD F1 20            JSR SHOWB7SG
    37  0439  10 8E 04 00         LDY #$0400
    38
    39  043D  D1 00               CMPB E0
    40  043F  26 04               BNE WEITER0
    41  0441  C6 E0               LDB #$E0
    42  0443  20 06               BRA DISPLAY
    43  0445  D1 01      WEITER0  CMPB E1
    44  0447  26 0C               BNE WEITER
    45  0449  C6 E1               LDB #$E1
    46
    47  044B  8E 00 06   DISPLAY  LDX #$0006
    48  044E  BD F1 20            JSR SHOWB7SG
    49  0451  10 8E 08 00         LDY #$0800
    50
    51
    52  0455  BD F1 60    WEITER  JSR DLY1MS
    53  0458  BD F1 40            JSR KEY
    54  045B  C1 86               CMPB #$86
    55  045D  27 05               BEQ ENDE
    56
    57  045F  1F 30               TFR U,D
    58  0461  5D                  TSTB
    59  0462  26 C2               BNE LOOP1
    60  0464  13            ENDE  SYNC
    61  0465                      END

Zu P5.3-17:

    1   0400                      ORG  $0400
    2   0400  BD F1 10     START  JSR  CLRDISP
    8   0403  86 38               LDA  #$38
    9   0405  97 00               STA  $0
    10  0407  10 8E 00 C8         LDY  #0200
    12  040B  CE F0 00            LDU  #$F000
    13  040E  1F 30         TAKT  TFR  U,D
    14  0410  1E 89               EXG  A,B
    15  0412  1F 03               TFR  D,U
    16  0414  B7 F0 02            STA  DRB
    17  0417  BD F1 60            JSR  DLY1MS
    25  041A  F6 F0 02    SW1SW0  LDB  DRB
    26  041D  C4 03               ANDB #3
    27  041F  8E 00 00            LDX  #0
    28  0422  BD F1 1C            JSR  SHOWT7SG
    29  0425  86 08               LDA  #8
    30  0427  48           SHIFT  LSLA
    31  0428  5A                  DECB
    32  0429  2A FC               BPL  SHIFT
    33
    34  042B  BD F1 40       CB2  JSR  KEY
    35  042E  C1 80               CMPB #$80
    36  0430  26 04               BNE  MINUS
    37  0432  C6 38               LDB  #$38
    38  0434  20 06               BRA  WEITER
    39  0436  C1 81        MINUS  CMPB #$81
    40  0438  26 04               BNE  L2
    41  043A  C6 30               LDB  #$30
    42  043C  D7 00       WEITER  STB  $0
    43  043E  C6 00           L2  LDB  #0
    44  0440  F7 F0 03            STB  CRB
    45  0443  B7 F0 02            STA  DDRB
    46  0446  C6 04               LDB  #4
    47  0448  DA 00               ORB  $0
    48  044A  F7 F0 03            STB  CRB
    49  044D  20 BF               BRA  TAKT
    50                            END
    51      F110          CLRDISP   EQU  $F110
    52      F11C          SHOWT7SG  EQU  $F11C
    53      F140          KEY       EQU  $F140
    54      F002          DRB       EQU  $F002
    55      F002          DDRB      EQU  $F002
    56      F003          CRB       EQU  $F003
    57      F160          DLY1MS    EQU  $F160

Zu P5.3-18:

    1       F110         CLRDISP   EQU  $F110
    2       F140         KEY       EQU  $F140
    3       F143         HALTKEY   EQU  $F143
    4       F113         SHOWA     EQU  $F113
    5       F11C         SHOWT7SG  EQU  $F11C
    6       F120         SHOWB7SG  EQU  $F120
    7       F123         SHOWD7SG  EQU  $F123
    8       F156         SHOWADR   EQU  $F156
    9       F150         SHOWDATA  EQU  $F150
    10      F116         SHOWD     EQU  $F116
    11      F160         DLY1MS    EQU  $F160
    12      0000         E0        EQU  $0
    13      0001         E1        EQU  $1
    14      F002         DRB       EQU  $F002
    15      F002         DRRB      EQU  $F002
    16      F003         CRB       EQU  $F003
    17
    18
    19  0400                      ORG  $0400
    20  0400  BD F1 10   EINGABE  JSR  CLRDISP
    21  0403  C6 30               LDB  #$30
    22  0405  F7 F0 03            STB  CRB
    23  0408  C6 FF               LDB  #$FF
    24  040A  F7 F0 02            STB  DRRB
    25  040D  C6 34               LDB  #$34
    26  040F  F7 F0 03            STB  CRB
    27  0412  8E 00 07      LOOP  LDX  #$0007
    28
    29  0415  BD F1 40            JSR  KEY
    30  0418  2B F8               BMI  LOOP
    31  041A  BD F1 1C            JSR  SHOWT7SG
    32
    33  041D  CB 30        ASCII  ADDB #$30
    34  041F  C1 3A               CMPB #$3A
    35  0421  2B 02               BMI  ZIFF
    36  0423  CB 07               ADDB #$07
    37  0425  8E 00 04      ZIFF  LDX  #$0004
    38  0428  BD F1 20            JSR  SHOWB7SG
    39  042B  B6 F0 03            LDA  CRB
    40  042E  2A E2               BPL  LOOP
    41  0430  F7 F0 02            STB  DRB
    42  0433  F6 F0 02            LDB  DRB
    43
    44
    45  0436  86 3C               LDA  #$3C
    46  0438  B7 F0 03            STA  CRB
    47  043B  8E 00 00            LDX  #0
    48  043E  C6 00               LDB  #0
    49  0440  BD F1 1C            JSR  SHOWT7SG
    50  0443  10 8E 01 00         LDY  #$0100
    51  0447  BD F1 60            JSR  DLY1MS
    52  044A  86 34               LDA  #$34
    53  044C  B7 F0 03            STA  CRB
    54  044F  86 00               LDA  #0
    55  0451  BD F1 13            JSR  SHOWA
    56  0454  20 BC               BRA  LOOP
    57  0456                      END

Zu P5.3-19:

    1       F110         CLRDISP   EQU  $F110
    2       F140         KEY       EQU  $F140
    3       F143         HALTKEY   EQU  $F143
    4       F113         SHOWA     EQU  $F113
    5       F116         SHOWD     EQU  $F116
    6       F11C         SHOWT7SG  EQU  $F11C
    7       F120         SHOWB7SG  EQU  $F120
    8       F123         SHOWD7SG  EQU  $F123
    9       F156         SHOWADR   EQU  $F156
    10      F150         SHOWDATA  EQU  $F150
    11      F160         DLY1MS    EQU  $F160
    12      0000         E0        EQU  $0
    13      0001         E1        EQU  $1
    14      F002         DRB       EQU  $F002
    15      F002         DRRB      EQU  $F002
    16      F003         CRB       EQU  $F003
    17
    18
    19  0400                      ORG  $0400
    20  0400  BD F1 10   EINGABE  JSR  CLRDISP
    21  0403  C6 30               LDB  #$30
    22  0405  F7 F0 03            STB  CRB
    23  0408  C6 00               LDB  #$00
    24  040A  F7 F0 02            STB  DRRB
    25  040D  C6 34               LDB  #$34
    26  040F  F7 F0 03            STB  CRB
    27
    28  0412  8E 00 00      LOOP  LDX  #0
    29  0415  BD F1 40            JSR  KEY
    30  0418  C1 80               CMPB #$80
    31  041A  26 0C               BNE  MINUS
    32
    33  041C  C6 3C         PLUS  LDB  #$3C
    34  041E  F7 F0 03            STB  CRB
    35  0421  C6 01               LDB  #$1
    36  0423  BD F1 1C            JSR  SHOWT7SG
    37  0426  20 0E               BRA  WEITER
    38
    39  0428  C1 81        MINUS  CMPB #$81
    40  042A  26 0A               BNE  WEITER
    41  042C  C6 34               LDB  #$34
    42  042E  F7 F0 03            STB  CRB
    43  0431  C6 00               LDB  #0
    44  0433  BD F1 1C            JSR  SHOWT7SG
    45
    46  0436  8E 00 06    WEITER  LDX  #6
    47  0439  F6 F0 03            LDB  CRB
    48  043C  C4 08               ANDB #$08
    49  043E  26 0B               BNE  ENABLE
    50
    51  0440  F6 F0 02   DISABLE  LDB  DRB
    52  0443  CC 00 00            LDD  #0
    53  0446  BD F1 16            JSR  SHOWD
    54  0449  20 C7               BRA  LOOP
    55
    56  044B  F6 F0 03    ENABLE  LDB  CRB
    57  044E  2A C2               BPL  LOOP
    58  0450  F6 F0 02            LDB  DRB
    59  0453  BD F1 20            JSR  SHOWB7SG
    60  0456  20 BA               BRA  LOOP
    61  0458                      END

Zu P5.3-20:

    1       002E           INTZ3     EQU  $002E
    2       F018           SRZ1      EQU  $F018
    3       F018           SRZ3      EQU  $F018
    4       F019           SRZ2      EQU  $F019
    5       F019           STREG     EQU  $F019
    6       F110           CLRDISP   EQU  $F110
    7       F01E           LATCHZ3   EQU  $F01E
    8       F116           SHOWA     EQU  $F116
    9       F123           SHOWD7SG  EQU  $F123
    10      F140           KEY       EQU  $F140
    11      F143           HALTKEY   EQU  $F143
    12
    13  0400                      ORG  $0400
    14  0400  BD F1 10     START  JSR  CLRDISP
    15  0403  8E 00 02            LDX  #$0002
    16  0406  BD F1 23            JSR  SHOWD7SG
    17  0409  CC 04 41            LDD  #INT
    18  040C  DD 2E               STD  INTZ3
    19  040E  7F F0 19            CLR  SRZ2
    20  0411  86 C3               LDA  #$E3
    21  0413  B7 F0 18            STA  SRZ3
    22  0416  CC 01 FF            LDD  #$01FF
    23  0419  FD F0 1E            STD  LATCHZ3
    24  041C  86 01               LDA  #$01
    25  041E  B7 F0 19            STA  SRZ2
    26  0421  BD F1 43     WDTS   JSR  HALTKEY
    27  0424  C1 86               CMPB #$86
    28  0426  26 F9               BNE  WDTS
    29
    30  0428  7F F0 18            CLR  SRZ1
    31
    32  042B  1F 20         LOOP  TFR  Y,D
    33  042D  BD F1 23            JSR  SHOWD7SG
    34  0430  31 21               LEAY 1,Y
    35  0432  BD F1 40            JSR  KEY
    36  0435  C1 84               CMPB #$84
    37  0437  26 F2               BNE  LOOP
    38  0439  CC 01 FF            LDD  #$01FF
    39  043C  FD F0 1E            STD  LATCHZ3
    40  043F  20 EA               BRA  LOOP
    41  0441
    42  0441  86 01          INT  LDA  #$01
    43  0443  B7 F0 18            STA  SRZ1
    44  0446  8E 00 02            LDX  #$0002
    45  0449  86 80               LDA  #$80
    46  044B  BD F1 16            JSR  SHOWA
    47  044E  BD F1 43      WAIT  JSR  HALTKEY
    48  0451  C1 86               CMPB #$86
    49  0453  26 F9               BNE  WAIT
    50  0455  7F F0 18            CLR  SRZ1
    51  0458  F6 F0 19            LDB  STREG
    52  045B  FC F0 1E            LDD  LATCHZ3
    53  045E  CC 01 FF            LDD  #$01FF
    54  0461  FD F0 1E            STD  LATCHZ3
    55
    56  0464  3B                  RTI

Zu P5.3-21:

    1       002E           INTZ3     EQU  $002E
    2       F018           SRZ1      EQU  $F018
    3       F018           SRZ3      EQU  $F018
    4       F019           SRZ2      EQU  $F019
    5       F019           STREG     EQU  $F019
    6       F110           CLRDISP   EQU  $F110
    7       F01E           LATCH_Z3  EQU  $F01E
    8       F11C           SHOWT7SG  EQU  $F11C
    9       F123           SHOWD7SG  EQU  $F123
    10      F143           HALTKEY   EQU  $F143
    11      F160           DLY1MS    EQU  $F160
    12
    13  0400                      ORG  $0400
    14  0400  CC 04 52     START  LDD  #INT
    15  0403  DD 2E               STD  INTZ3
    16  0405  7F F0 19            CLR  SRZ2
    17  0408  86 C3               LDA  #$C3
    18  040A  B7 F0 18            STA  SRZ3
    19  040D  CC 80 FF            LDD  #$80FF
    20  0410  FD F0 1E            STD  LATCHZ3
    21  0413  86 01               LDA  #$01
    22  0415  B7 F0 19            STA  SRZ2
    23
    24  0418  BD F1 10    ANFANG  JSR  CLRDISP
    25  041B  8E 00 02            LDX  #$0002
    26  041E  CC 00 00            LDD  #$0000
    27  0421  DD 00               STD  $00
    28  0423  BD F1 23            JSR  SHOWD7SG
    29  0426  30 1E               LEAX -2,X
    30  0428  C6 05               LDB  #$05
    31  042A  BD F1 1C            JSR  SHOWT7SG
    32
    33  042D  BD F1 43      WDTS  JSR  HALTKEY
    34  0430  C1 86               CMPB #$85
    35  0432  26 F9               BNE  WDTS
    36
    37  0434  7F F0 18            CLR  SRZ1
    38  0437  C6 0C               LDB  #$0C
    39  0439  BD F1 1C            JSR  SHOWT7SG
    40  043C
    41  043C  C6 01         LOOP  LDB  #$01
    42  043E  D7 02               STB  $02
    43  0440  10 8E 40 00         LDY  #$4000
    44  0444  BD F1 60            JSR  DLY1MS
    45  0447  D6 02               LDB  $02
    46  0449  27 F1               BEQ  LOOP
    47  044B  86 01               LDA  #$01
    48  044D  B7 F0 18            STA  SRZ1
    49  0450  20 C6               BRA  ANFANG
    50  0452
    51  0452  0F 02          INT  CLR  $02
    52  0454  DC 00               LDD  $00
    53  0456  C3 00 01            ADDD #$0001
    54  0459  DD 00               STD  $00
    55  045B  8E 00 02            LDX  #$0002
    56  045E  BD F1 23            JSR  SHOWD7SG
    57  0461  F6 F0 19            LDB  STREG
    58  0464  FC F0 1E            LDD  LATCHZ3
    59  0467  3B                  RTI

| 5.3 Praktische Übungen zum Praktikumsrechner |  | Anhang: Der Registersatz des MC6840 |