LC-80 Rechts- und linksorientierte Laufschrift "Info macht Spass" |
![]() |
![]() |
Letztmalig dran rumgefummelt: 07.02.07 10:20:06 |
Anmerkungen zur Steuerung: Register A, BC sowie HL muss vor dem Aufruf der Subroutine DAK2 gerettet werden
Pseudocode zum Programm:
1.) INIT-Routine3.) Taste "-" entspricht wieder Links-Lauf
4.) RESET entspricht Stopp
Zeile | Marke | Block | Adresse | Hex-Code | Assembler-Code | Kommentar |
ORG 2000H | ||||||
0001 | M2: | 2000H | DD 21 0F 21 | LD IX, 0220FH | ;Anfangszeiger für Anzeige | |
0002 | INIT | 2004H | 0E 16 | LD C, 016H | ;Länge des Wortes | |
0003 | 2006H | 16 16 | LD D, 016H | ;Länge des Wortes | ||
0004 | M1: | WRRIGHT | 2008H | 06 10 | LD B, 010H | ;Anzeigezeit |
0005 | 200AH | C3 30 20 | JP M3: | ;unbedingter Sprung | ||
0006 | ||||||
0007 | ORG 02030H | |||||
0008 | M3: | 2030H | CD 83 04 | CALL DAK2 |
;Unterprogrammaufruf "einmalige Anzeige mit Tastaturabfrage" |
|
0009 | 2033H | FE 17 | CP 017H | ;"-"-Taste gedrückt? | ||
0010 | 2035H | CA 60 20 | JPZ M6: | ;Springe wenn Taste gedrückt zu M6: | ||
0011 | 2038H | 10 F6 | DJNZ M3: | ;B
Decrementieren und Springe wenn nicht Zero zu M3: |
||
0012 | M2: | 203AH | DD 2B | DEC IX | ;Ausgangsadresse erniedrigen | |
0013 | 203CH | 0D | DEC C | ;Länge des Wortes verringern | ||
0014 | 203DH | C2 08 20 | JPNZ M1: | ;Springe zurück wo Register B initialisiert | ||
0015 | 2040H | C3 00 20 | JP M2: | ;Springe zum Anfang | ||
0016 | ||||||
0017 | ORG 02060H | |||||
0018 | M6: | WRLEFT | 2060H | 7A | LD A, D | ;D zur Subtraktion umladen |
0019 | 2061H | 91 | SUB C | ;neue Wortlänge | ||
0020 | 2062H | 57 | LD D, A | ;neue Wortlänge in D | ||
0021 | M4: | 2063H | 06 10 | LD B, 010H | ;Anzeigezeit initialisieren | |
0022 | M5: | 2065H | CD 83 04 | CALL DAK2 | ;Unterprogrammaufruf | |
0023 | 2068H | FE 0A | CP 00AH | ;"+"-Taste gedrückt? | ||
0024 | 206AH | CA 82 20 | JPZ M3: | ;Springe wenn Taste gedrückt zu M3: | ||
0025 | 206DH | 10 F6 | DJNZ M5: | ;Return DAK2 | ||
0026 | 206FH | DD 23 | INC IX | ;Anfangsadresse erhöhen | ||
0027 | 2071H | 15 | DEC D | ;Länge des Wortes verringern | ||
0028 | 2072H | C2 63 20 | JPNZ M4: | ;Springe zurück wo Register B initialisiert(M4:) | ||
0029 | 2075H | DD 21 FA 20 | LD IX, 020FAH | ;Anfangszeiger für Anzeige | ||
0030 | 2079H | 0E 16 | LD C, 016H | ;Länge des Wortes | ||
0031 | 207BH | 16 16 | LD D, 016H | ;Länge des Wortes | ||
0032 | 207DH | 06 10 | LD B, 010H | ;Anzeigezeit | ||
0033 | 207FH | C3 63 20 | JP M4: | ;Springe zum Anfang für Linksschieben | ||
0034 | ||||||
0035 | ORG 02082H | |||||
0036 | 2082H | 0E 16 | LD C, 016H | ;Länge des Wortes neu initialisieren | ||
0037 | 2084H | 79 | LD A, C | ;C zur Subtraktion umladen | ||
0038 | 2085H | 92 | SUB D | ;neue Wortlänge | ||
0039 | 2086H | 4F | LD C, A | ;A umladen | ||
0040 | 2087H | C3 30 20 | JP M3: | ;Rücksprung links | ||
0041 | ||||||
0042 | ORG 021FAH | |||||
0043 | 21FAH | AE AE | DW 0AEAEH | ;Anzeige "SS" | ||
0044 | 21FCH | 4F 6F | DW 04F6FH | ;Anzeige "PA" | ||
0045 | 21FEH | AE 00 | DW 0AE00H | ;Anzeige "S " | ||
0046 | 2200H | 6B CA | DW 06BCAH | ;Anzeige "HT" | ||
0047 | 2202H | 6F C6 | DW 06FC5H | ;Anzeige "AC" | ||
0047 | 2204H | 00 6C | DW 0006CH | ;Anzeige " M" | ||
0048 | 2206H | 4E E8 | DW 04EE8H | ;Anzeige "FO" | ||
0049 | 2208H | 4E E8 | DW 04EE8H | ;Anzeige "IN" | ||
0050 | 220AH | 00 00 | DW 00000H | ;Anzeige " " | ||
0051 | 220CH | 00 00 | DW 00000H | ;Anzeige " " | ||
0052 | 220EH | 00 00 | DW 00000H | ;Anzeige " " |
Beispiel für eine kleine Anweisungstabelle in vollständiger Mnemoic-Codierung
![]() zur Hauptseite |
© Samuel-von-Pufendorf-Gymnasium Flöha | © Frank Rost im Januar 2006 |
... dieser Text wurde nach den Regeln irgendeiner Rechtschreibreform verfasst - ich hab' irgendwann einmal beschlossen, an diesem Zirkus nicht mehr teilzunehmen ;-) „Dieses Land braucht eine Steuerreform, dieses Land braucht eine Rentenreform - wir schreiben Schiffahrt mit drei „f“!“ Diddi Hallervorden, dt. Komiker und Kabarettist |