Hochzählender DECODER für irgendetwas (das muss disassembliert werden!) |
![]() |
![]() |
|
Anmerkungen zur Steuerung Register A sowie HL müssen gerettet werden
Zeile | Marke | Block | Adresse | Hex-Code | Assembler-Code | Kommentar |
ORG 2000H | ||||||
0001 | ANF: | MUSIC | 2000H | CD EA 04 | CALL 04EAH | ;CALL MONMUS-Ausgabe Anfangsmelodie |
0002 | INIT | 2003H | 3E 0A | LD A, 00AH | ;Register A wird geladen (Startwert für Count Down) | |
0003 | 2005H | 06 80 | LD B, 080H | ;Register B (Festlegung der Anzeigemenge) | ||
0004 | 2007H | 0E FF | LD C, 0FFH | ;Register C (Festlegung der Tonfrequenz) | ||
0005 | 2009H | 1E 0B | LD E, 00BH | ;Register E (Anzahl der Anzeige-Multiplexer) | ||
0006 | 200BH | 21 10 00 | LD HL, 01000H | ;Registerpaar HL (Anfangstonfrequenz) | ||
0007 | 200EH | DD 21 00 23 | LD IX, 02300H | ;Anfangsadresse Textanzeige | ||
0008 | M1: | CODOWN | 2012H | F5 | PUSH AF | ;Register A retten |
0009 | 2013H | CD CA 04 | CALL 04CAH | ;CALL ONESESG-Register A in Siebensegment-Code umwandeln | ||
0010 | 2016H | 32 03 23 | LD (02303H), A | ;Siebensegment-Code auf Monitor-RAM schreiben | ||
0011 | M2: | DISPLAY | 2019H | C5 | PUSH BC | ;Registerpaar BC retten |
0012 | 201AH | CD 83 04 | CALL 0483H | ;CALL DAK2-Ausgabe Unterprogramm aufrufen | ||
0013 | 201DH | C1 | POP BC | ;Registerpaar BC wieder hergestellt | ||
0014 | 201EH | 10 F9 | DJNZ, M2 | ;B decrementieren und relativer Sprung auf M2, wenn nicht Null | ||
0015 | 2020H | C5 | PUSH BC | ;Registerpaar BC retten | ||
0016 | 2021H | D5 | PUSH DE | ;Registerpaar DE retten | ||
0017 | 2022H | E5 | PUSH HL | ;Registerpaar HL retten | ||
0018 | 2023H | 3D | DEC A | ;Anzeigewert für Count-Down herunterzählen | ||
0019 | 2024H | 1D | DEC E | ;0-Durchlauf in Register E registrieren | ||
0020 | 2025H | C2 12 20 | JPNZ 02012H | ;Einsprung M2:; weitere Anzeige | ||
0021 | 2027H | E1 | PUSH HL | ;Registerpaar HL wieder hergestellt | ||
0022 | 2028H | D1 | PUSH DE | ;Registerpaar DE wieder hergestellt | ||
0023 | 2029H | C1 | PUSH BC | ;Registerpaar BC wieder hergestellt | ||
0024 | 202AH | 01 00 FF | LD BC, 0FF00H | ;Registerpaar BC wird geladen (B:=Anzahl, C:=Tonfrequenz) | ||
0025 | 202DH | 21 10 00 | LD HL, 00010H | ;Registerpaar HL verweist auf die aktuelle Tonlänge | ||
0026 | M3: | 2030H | C5 | PUSH BC | ;Registerpaar BC retten | |
0027 | 2031H | E5 | PUSH HL | ;Registerpaar HL retten | ||
0028 | 2032H | CD 76 03 | CALL 0376H | ;CALL SOUND-Ausgabe Unterprogramm aufrufen | ||
0029 | 2035H | E1 | POP HL | ;Registerpaar HL wieder hergestellt | ||
0030 | 2036H | C1 | POP BC | ;Registerpaar BC wieder hergestellt | ||
0031 | 2037H | 0C | INC C | ;Tonfrequenz um einen Schritt erhöhen | ||
0032 | 2038H | 10 F6 | DJNZ, M3 | ;Rücksprung auf Adresse mit Index M3: | ||
0033 | 203AH | C3 00 20 | JP 02000H | ;RETURN ANF: | ||
0034 | 203DH | 76 | HALT | ;Fehlerprüfmarke - wird theoretisch nicht erreicht | ||
0035 | TABLE: | |||||
0036 | 2100H | E7 | DEFB 07EH | |||
0037 | 2101H | E7 | DEFB 07EH | |||
0038 | 2102H | 00 | DEFB 00EH | |||
0039 | 2103H | CA | DEFB 0CAH | |||
0040 | 2104H | E3 | DEFB 0E3H | |||
0041 | 2105H | E8 | DEFB 0E8H |
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 |