LC-80 Interruptpgrammierung CTC Mode 0 - Hexadezimale Anzeige der Anzahl der Interrupts history menue Letztmalig dran rumgefummelt: 16.01.14 18:24:17

LC-80

LC-80-Programmierung

LC-80-CTC Einlesen ohne Interrupt - das Logo

inhaltlich auf korrektem Stand - evtl. partiell unvollständig ;-)

Informatik-Profi-Wissen

die beliebte alphabetisch sortierte Schnell-Liste

die beliebte numerisch sortierte Schnell-Liste

Allgemeine FLAG-Wirkung

FLAG-Wirkung auf OP-Code-Gruppen

CTC-Programmierung

 

Anmerkungen zur Steuerung: Register A, BC  sowie HL muss vor dem Aufruf der Subroutine TWOSEG gerettet werden

Pseudocode zum Programm:

1.) Monitor-Musik wieder geben 2.) Initialisierung

3.) Rücksprung zum aufsteigenden Ton

4.) RESET entspricht Stopp

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 21 01 00 LD HL, 00001H ;Registerpaar HL wird geladen (Zeitwert aller Töne)
0003 M3:   2006H 01 FE FF LD BC 0FFFEH ;Register B Intervallanzahl Register C Anfangstonhöhe
0004 M1: TONAUF 2009H C5 PUSH BC ;Registerpaar BC retten
0005     200AH E5 PUSH HL ;Registerpaar HL retten
0006   200BH CD 76 03 CALL 0376H ;CALL SOUND-Ausgabe Unterprogramm aufrufen
0007   200EH E1 POP HL ;Registerpaar HL wieder hergestellt
0008   200FH C1 POP BC ;Registerpaar BC wieder hergestellt
0009   2010H 0D DEC C ;Tonfrequenz um einen Schritt erhöhen
0010   2011H 10 F6 DJNZ, M1: ;Relativer Rücksprung auf Adresse mit Index M1:
0011 TONAB 2013H 06 FE LD B, 0FEH ;B mit neuem Anfangszähler laden
0012 M2:   2015H C5 PUSH BC ;Registerpaar BC retten
0013   2016H E5 PUSH HL ;Registerpaar HL retten
0014   2017H CD 76 03 CALL 0376H ;CALL SOUND-Ausgabe Unterprogramm aufrufen
0015   201AH E1 POP HL ;Registerpaar HL wieder hergestellt
0016   201BH C1 POP BC ;Registerpaar BC wieder hergestellt
0017   201CH 0C INC C ;Tonfrequenz um einen Schritt verringern
0018   201DH 10 F6 DJNZ, M2: ;Relativer Rücksprung auf Adresse mit Index M2:
0019   201FH 18 D5 JR M3: ;Rücksprung in die Endlosschleife Adresse mit Index M3:
0020     2020H 76 HALT ;Haltepunkt wird theoretisch nicht erreicht

Beispiel für eine kleine Anweisungstabelle in vollständiger Mnemoic-Codierung