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 |