Hochzählender DECODER für irgendetwas (das muss disassembliert werden!) history menue

die beliebte alphabetisch sortierte Schnell-Liste

die beliebte numerisch sortierte Schnell-Liste

Allgemeine FLAG-Wirkung

FLAG-Wirkung auf OP-Code-Gruppen

Befehlsdokumentation mit Beispiel

Übersicht der Subroutinen des LC-8

Z80-Innenleben

Z80-Innenleben im CorelDraw 11-Format zum Download

Programmzustandstabelle Z80 vollständig zum Download im CoreDraw 11.0-Format

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