| Generieren einer Laufschrift mit wahlfreiem Text |
|
|
|
|
|
||||
Programm 4: Der Inhalt der Speicherplätze 2100H beginnend ist Quelle für den Text der Laufschrift „Heute ist Freitag“! Zur Anzeige wird die Subroutine DAK2 genutzt - die Zeichentabelle befindet sich hier!
Lösungsalgorithmus: Die Zeichen werden der Reihe nach durch die Tabelle ab 2100H indiziert, der Reihe nach angezeigt, indem Register C heruntergezählt und Indexregister IX heraufgezählt wird, wobei Register B als Zeitäquivalent dient. Bei der Zeichenanzahl die Leerzeichen nicht vergessen und gut sind vor der Wiederholung ebenfalls einige Leerzeichen!!!
Anmerkungen zur Steuerung: es muss der Inhalt des Registerpaares BC gerettet werden

... der Rahmen muss jeweils um ein Zeichen weiter gerückt werden!!!
| HEX-Code | Zeichen |
| E7H | 0 |
| 21H | 1 |
| CDH | 2 |
| ADH | 3 |
| 2BH | 4 |
| AEH | 5 |
| EEH | 6 |
| 25H | 7 |
| EFH | 8 |
| AFH | 9 |
| 6FH | A |
| EAH | B |
| C6H | C |
| E9H | D |
| CEH | E |
| 4EH | F |
| E6H | G |
| 6BH | H |
| 20H | I |
| E1H | J |
| CBH | K |
| C2H | L |
| 6CH | M |
| 68H | N |
| E8H | O |
| 4FH | P |
| 2FH | Q |
| 48H | R |
| AEH | S |
| CAH | T |
| E3H | U |
| E0H | V |
| E4H | W |
| 4AH | X |
| ABH | Y |
| 8CH | Z |
| C8H | ( |
| A8H | ) |
| 29H | + |
| 08H | - |
| 10H | . |
| FFH |
LC-80 Zeichencodetabelle - vergiss den ASCII ;-)
Projekt als A-Side Assembler Datei
Pseudocode zum Programm:
| Zeile | Marke | Block | Adresse | Hex-Code | Assembler-Code | Kommentar |
| ORG 2000H | ;Adresse Programmbeginn | |||||
| 0001 | M3: | NEW | 2000H | DD 21 00 21 | LD IX, 2100H | ;Index auf Anfang der Zeichentabelle 2100H |
| 0002 | 2004H | 0E 0C | LD C, 19H | ;Zeichenanzahl 25D in C | ||
| 0003 | M2: | 2006H | 06 64 | LD B, 64H | ;Anzeigezeit für 1 S (100D) | |
| 0004 | M1: | NEXT | 2008H | CD 83 04 | CALL DAK2 | ;Call Subroutine auf 0483H |
| 0005 | SCRIBE | 200BH | 10 FB | DJNZ M1: | ;Decrementiere B und springe auf 2008H, wenn nicht ZERO | |
| 0006 | 200DH | DD 23 | INC IX | ;Index der Zeichentabelle weiterrücken | ||
| 0007 | 200FH | 0D | DEC C | ;Zeichenzahl verringern | ||
| 0008 | READY | 2010H | 20 F4 | JRNZ M2: | ;nächstes Zeichen | |
| 0009 | 2012H | 18 EC | JPR M3: | ;Anzeigeschleife schließen | ||
| 0010 | 2014H | 76 | HALT | ;Programm STOPP - wenn’sch hierher komm’, hab’sch 'n Fehler gemacht ;-) | ||
| 0011 | ||||||
| 0012 | EQUATE | TABLE: | ||||
| 0013 | 2100H | SETBASE 2100H | ;DATEN Adresse | |||
| 0014 | 2100H | 6B | DEFB 06BH | ;Code für "H" | ||
| 0015 | 2101H | CE | DEFB 0CEH | ;Code für "E" | ||
| 0016 | 2102H | E3 | DEFB 0E3H | ;Code für "U" | ||
| 0017 | 2103H | CA | DEFB 0CAH | ;Code für "T" | ||
| 0018 | 2104H | CE | DEFB 0CEH | ;Code für "E" | ||
| 0019 | 2105H | FF | DEFB 0FFH | ;Code für " " | ||
| 0020 | 2106H | 20 | DEFB 020H | ;Code für "I " | ||
| 0021 | 2107H | AE | DEFB 0AEH | ;Code für "S" | ||
| 0022 | 2108H | CA | DEFB 0CAH | ;Code für "T" | ||
| 0023 | 2109H | FF | DEFB 0FFH | ;Code für " " | ||
| 0024 | 210AH | 4E | DEFB 04EH | ;Code für "F" | ||
| 0025 | 210BH | 48 | DEFB 048H | ;Code für "R" | ||
| 0026 | 210CH | CE | DEFB 0CEH | ;Code für "E" | ||
| 0027 | 210DH | 20 | DEFB 020H | ;Code für "I" | ||
| 0028 | 210EH | CA | DEFB 0CAH | ;Code für "T" | ||
| 0029 | 210FH | 6F | DEFB 06FH | ;Code für "A" | ||
| 0030 | 2110H | E6 | DEFB 0E6H | ;Code für "G" | ||
| 0031 | 2111H | 00 | DEFB 000H | ;Code für " " | ||
| 0032 | 2112H | 00 | DEFB 000H | ;Code für " " | ||
| 0033 | 2113H | 00 | DEFB 000H | ;Code für " " | ||
| 0034 | 2114H | 00 | DEFB 000H | ;Code für " " | ||
| 0035 | 2115H | 00 | DEFB 000H | ;Code für " " | ||
| 0036 | 2116H | 00 | DEFB 000H | ;Code für " " | ||
| 0037 | 2117H | 00 | DEFB 000H | ;Code für " " | ||
| 0038 | 2118H | 00 | DEFB 000H | ;Code für " " |
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 |