LC-80-Betriebssystem disassembliert |
![]() |
![]() |
Letztmalig dran rumgefummelt: 02.03.07 08:59:10 |
1. HEX-Dump
2. Disassembliertes
OS für LC-80 ;-) eine Schweinearbeit - das sind immerhin
2048 intelligente HEADEZIMALZAHLEN
3. Fehlerfrei von Tino
Hempel disassembliertes OS für LC-80 ;-)
1. HEX-Dump |
![]() |
![]() |
![]() |
LC-80-OS-Dump Teil I
LC-80-OS-Dump Teil II
LC-80-OS-Dump Teil III
2. Disassembliertes und kommentiertes OS-Listing |
![]() |
![]() |
![]() |
Marke | Adresse | Hex-Code | Assembler-Code | Kommentar |
ORG 0000H | ;Adresse MONITOR-Start | |||
SWINGIN: | 0000H | 06 00 | LD B,00H | ;256 steht im Register B |
0002H | 10 FE | JRNZ SWINGIN: | ;verringere B um eins und springe relativ auf 0002H wenn nicht ZERO | |
0004H | 18 35 | JR START: | ;Sprung zum Start 003BH | |
0008H | C3 08 23 | JP RST 08: | ;Einsprung Adresse 2308H | |
0010H | C3 10 23 | JP RST 10: | ;Einsprung Adresse 2310H | |
0018H | C3 18 23 | JP RST 18: | ;Einsprung Adresse 2310H | |
0020H | C3 20 23 | JP RST 20: | ;Einsprung Adresse 2320H | |
0028H | C3 28 23 | JP RST 18: | ;Einsprung Adresse 2328H | |
0030H | C3 30 23 | JP RST 30: | ;Einsprung Adresse 2330H | |
0038H | C3 38 23 | JP RST 38: | ;Einsprung Adresse 2338H | |
START: | 003BH | 3A FC 23 | LD A,(23FCH) | ;Einlesen RESTART-Byte 80H |
003EH | FE 80 | CP 80H | ;Test A auf 80H | |
0040H | 28 29 | JRZ SKIPNMI: | ;relativer Sprung zu auf 006BH, wenn ZERO | |
0042H | 21 00 20 | LD HL,2000H | ;erste RAM-Adresse | |
0045H | 11 01 20 01 | LD DE,0120H | ;erster Basisbefehl für Increment auf 004CH | |
0049H | 01 FF 0F | LD BC,0FFFH | ;zweiter Basisbefehl für Increment auf 004CH | |
004CH | 36 FF | LD M,FFH | ;FFH als Init-Byte | |
004CH | ED B0 | LDIR | ;FFH auf alle RAM-Zellen (RST38:) | |
004FH | 01 03 00 | LD BC,0030H | ||
0052H | 11 38 23 | LD BC,2338H | ||
0055H | 21 11 01 | LD HL,0111H | ||
0058H | ED B0 | LDIR | ||
005AH | 01 03 00 | LD BC,0003H | ||
005DH | 11 40 23 | LD DE,2340H | ||
0060H | 21 EB 00 | LD HL,00EBH | ||
0063H | 18 04 | JR SKIPNMI: | ;Relatives Überspringen NMI zu 0069H | |
NMI: | 0066H | C3 40 23 | JP RST 38: | ;Einsprung Adresse 2340H |
SKIPNMI: | 0069H | ED B0 | LDIR | |
006BH | 31 EA 23 | LD SP,23EAH | ;Überspringen NMI zu 0069H | |
006EH | CD CA 00 | CALL PIOINIT: | ;CALL 00CAH | |
0071H | CD 99 00 | CALL M1: | ;CALL 0099H | |
0074H | 3A FC 23 | LD A,(23FCH) | ;Startmonitor schon gelaufen? | |
0077H | FE 80 | CP 80H | ;Test A auf 80H | |
0079H | C4 9C 02 | CANZ M3: | ;CALL 029CH wenn nicht ZERO | |
007CH | 21 00 20 | LD HL,2000H | ||
007FH | 22 F8 23 | LD (23F8H),M | ||
0082H | AF | XOR A | ||
TASTE: | 0083H | 32 FD 23 | LD (23FDH),A | |
0087H | DD 21 74 05 | LD IX,0574H | ||
008AH | AF | XOR A | ||
008BH | 32 FB 23 | LD (23FBH),A | ||
008EH | 31 EA 23 | LD SP,23EAH | ||
0091H | CD 5A 04 | CALL M3: | ;CALL 045AH | |
0094H | CD 1B 01 | CALL M4: | ;CALL 01B1H | |
0097H | 18 F5 | JR TASTE: | ;relativer Sprung auf 0083H | |
0099H | 01 04 00 | LD BC,0400H | ;EQATE auf 0400H | |
009CH | 21 00 20 | LD HL,2000H | ;erste RAM-Adresse | |
SYS1: | 009FH | CD 52 04 | CALL M3: | ;CALL 0452H |
00A2H | 28 01 | JR, GO: | ;relativer Sprung auf 00A5H | |
00A4H | 76 | HALT | ;Checkpoint zur systeminternen Fehleranalyse (sollte nicht erreicht werden!) | |
GO: | 00A5H | 23 | INC HL | ;erhöhe HL um genau eins ;-) |
00A6H | 10 F7 | JRNZ SYS1: | ;Sprung zum Start 009FH | |
00A8H | 0D | DEC C | ;verringere C um genau eins ;-) | |
00A9H | 20 F4 | JRNZ SYS1: | ;relativer Sprung auf 0083H wenn nicht ZERO | |
00ABH | AF | XOR A | ||
00AEH | 21 00 00 | LD HL,0000H | ||
00AFH | 01 04 00 | LD BC,0400H | ||
00B2H | CD C2 00 | CALL SYS2: | ;CALL 00C2H | |
00B5H | 21 00 04 | LD HL,0400H | ||
00B8H | 01 04 FF | LD BC,04FFH | ||
00BBH | CD C2 00 | CALL SYS2: | ;CALL 00C2H | |
00BEH | BE | CP M | ;Vergleiche A mit (HL) | |
00BFH | C8 | RZ | ;Rücksprung aus Subroutine, wenn nicht ZERO | |
00C0H | 76 | HALT | ;Checkpoint zur systeminternen Fehleranalyse (sollte nicht erreicht werden!) | |
00C1H | C9 | RET | ;Rücksprung aus Subroutine | |
SYS2: | 00C2H | 86 | ADD M | ;Addiere A mit (HL) |
00C3H | 23 | INC HL | ;erhöhe HL um genau eins ;-) | |
00C4H | 10 FC | DJNZ SYS2: | ;verringere B um eins und springe relativ auf 00C2H wenn nicht ZERO | |
00C6H | 0D | DEC C | ;verringere C um genau eins ;-) | |
00C7H | 20 F9 | JRNZ SYS2: | ;relativer Sprung auf 0083H wenn nicht ZERO | |
00C9H | C9 | RET | ;Rücksprung aus Subroutine | |
PIOINIT: | 00CAH | 3E CF | LD A,CFH | ;PIO-Kanal im Byte-Ausgabe-Modus |
00CCH | D3 F6 | OUT (SYSPIOAC),A | ;System-PIO Kanal A Steuerport F6H angesprochen | |
00CEH | 3E FF | LD A,FFH | ;alle Bits auf "1" gesetzt | |
00D0H | D3 F4 | OUT (SYSPIOAD),A | ;System-PIO Kanal A Datenport F4H angesprochen | |
00D2H | 3E 00 | LD A,00H | ;PIO-Kanal im Byte-Ausgabe-Modus | |
00D4H | D3 F6 | OUT (SYSPIOAC),A | ;System-PIO Kanal A Steuerport F6H angesprochen | |
00D6H | 3E CF | LD A,CFH | ||
00D8H | D3 F7 | OUT (SYSPIOBC),A | ;System-PIO Kanal B Steuerport F7H angesprochen | |
00DAH | 3E FF | LD A,FFH | ||
00DCH | D3 F5 | OUT (SYSPIOBD),A | ;System-PIO Kanal B Datenport F5H angesprochen | |
00DEH | 3E 01 | LD A,01H | ||
00E0H | D3 F7 | OUT (SYSPIOBC),A | ;System-PIO Kanal B Steuerport F7H angesprochen | |
00E2H | 3E CF | LD A,CFH | ||
00E4H | D3 FB | OUT (USERPIOBC),A | ;User-PIO Kanal B Steuerport FBH angesprochen | |
00E6H | 3E FF | LD A,FFH | ||
00E8H | D3 FB | OUT (USERPIOBC),A | ;User-PIO Kanal B Steuerport FBH angesprochen | |
00EAH | C9 | RET | ||
00EBH | C3 EE 00 | JP REGSAVE: | ||
REGSAVE: | 00EEH | F5 | PUSH AF | |
00EFH | C5 | PUSH BC | ||
00F0H | 08 | EXAF | ||
00F1H | D9 | EXX | ||
00F2H | F5 | PUSH AF | ||
00F3H | C5 | PUSH BC | ||
00F4H | D5 | PUSH DE | ||
00F5H | E5 | PUSH HL | ||
00F6H | D9 | EXX | ||
00F7H | DD E5 | PUSH IX | ||
00F9H | 06 28 | LD B,28H | ||
00FBH | DD 21 99 05 | LD IX,0599H | ||
ANZEIGE: | 00FFH | CD 83 04 | CALL DAK1: | |
0102H | 10 FB | DJNZ ANZEIGE: | ;verringere B um eins und springe relativ auf 00FFH wenn nicht ZERO | |
0104H | DD E1 | POP IX | ||
0106H | D9 | EXX | ||
0107H | E1 | POP HL | ||
0108H | D1 | POP DE | ||
0109H | C1 | POP BC | ||
010AH | F1 | POP AF | ||
010BH | D9 | EXX | ||
010CH | 08 | EXAF | ||
010DH | C1 | POP BC | ||
010EH | F1 | POP AF | ||
010FH | ED 45 | RETN | ||
0111H | C3 14 01 | JP SYS2: | ;Einsprung Adresse 0114H | |
SYS2: | 0114H | DD 21 9F 05 | LD IX,059FH | |
0118H | C3 8A 00 | JP SYS3: | ;Einsprung Adresse 008AH | |
011BH | FE 10 | CP 10H | ;Test A auf 10H | |
011DH | 38 24 | JRC SYS4: | ;relativer Sprung auf 00A5H | |
011FH | 21 FD 23 | LD HL,23FDH | ||
0122H | CB C6 | SET 0, M | ||
0124H | D6 10 | SUB 10H | ||
0126H | FE 08 | CP 08H | ;Test A auf 08H | |
0128H | 21 AB 05 | LD HL,05ABH | ||
012BH | DA 87 02 | JPC SYS4: | ;Sprung auf 0287H wenn CARRY | |
012EH | DD 21 F2 23 | LD IX,23F2H | ||
0132H | D6 08 | SUB 08H | ||
0134H | 21 FB 23 | LD HL,23FBH | ||
0137H | 77 | LD M, A | ||
0138H | 21 FA 23 | LD HL,23FAH | ||
013BH | 36 00 | LD M,00H | ||
013DH | 21 B5 05 | LD HL,05B5H | ||
0140H | C3 87 02 | JP SYS5: | ;Einsprung Adresse 0287H | |
0143H | 4F | LD C,A | ||
0144H | 21 BF 05 | LD HL,05BFH | ||
SYS5: | 0147H | 3A FB 23 | LD A,23FBH | |
014AH | C3 87 02 | JP SYS3: | ;Einsprung Adresse 0287H | |
014DH | 21 CB 05 | LD HL,05CBH | ||
0150H | 18 F5 | JR SYS5: | ;relativer Sprung auf 0147H | |
0152H | 21 D7 05 | LD HL,05D7H | ||
0155H | 18 F0 | JR SYS5: | ;relativer Sprung auf 0147H | |
0157H | 21 E3 05 | LD HL,05E3H | ||
015AH | 18 EB | JR SYS5: | ;relativer Sprung auf 0147H | |
015CH | CD 27 05 | CALL DAK1: | ;CALL 0527H | |
015FH | CD C5 02 | CALL DAK1: | ;CALL 02C5H | |
0162H | C9 | RET | ||
0163H | CD BC 02 | CALL DAK1: | ;CALL 02BCH | |
0166H | C9 | RET | ||
0167H | CD E2 02 | CALL DAK1: | ;CALL 02E2H | |
016AH | C9 | RET | ||
016BH | C3 96 02 | JR SKIPNMI: | ;Einsprung Adresse 0296H | |
016EH | 2A F8 23 | LD HL,(23F8H) | ||
0171H | CD 52 04 | CALL DAK1: | ;CALL 02C5H | |
0174H | C2 96 02 | JPNZ SKIPNMI: | ;Sprung auf 0296H wenn ZERO | |
0177H | CD A8 02 | CALL DAK1: | ||
017AH | 79 | LD A,C | ||
017BH | ED 6F | RLD | ||
017DH | CD C5 02 | CALL DAK1: | ;CALL 02C5H | |
0180H | C9 | RET | ||
0181H | 21 F8 23 | LD HL,23F8H | ||
0184H | CD B4 02 | CALL DAK1: | ||
0187H | 79 | LD A,C | ||
0188H | ED 6F | RLD | ||
018AH | 23 | INC HL | ||
018BH | ED 6F | RLD | ||
018DH | CD BC 02 | CALL DAK1: | ;CALL 02BCH | |
0190H | C9 | RET | ||
0191H | CD FD 02 | CALL DAK1: | ;CALL 02FDH | |
0194H | CD B4 02 | CALL DAK1: | ;CALL 02B4H | |
0197H | 79 | LD A, C | ||
0198H | ED 6F | RLD | ||
019AH | 23 | INC HL | ||
019BH | ED 6F | RLD | ||
019DH | CD E2 02 | CALL DAK1: | ;CALL 02E2H | |
01A0H | C9 | RET | ||
01A1H | C3 96 02 | JP SKIPNMI: | ;Einsprung Adresse 0296H | |
01A4H | 2A F8 23 | LD HL,(23F8H) | ||
01A7H | 23 | INC HL | ||
01A8H | 22 F8 23 | LD (23F8H),HL | ||
01ABH | CD C5 02 | CALL DAK1: | ;CALL 05C2H | |
01AEH | C9 | RET | ||
01AFH | 21 FA 23 | LD HL,23FAH | ||
01B2H | 34 | INC M | ||
01B3H | CD 07 03 | CALL DAK1: | ;CALL 0703H | |
01B6H | 20 04 | JRNZ DAK1: | ;relativer Sprung auf 01BCH wenn nicht ZERO | |
01B8H | 35 | DEC M | ||
01B9H | C3 96 02 | JP SKIPNMI: | ;Einsprung Adresse 0296H | |
01BCH | CD E2 02 | CALL DAK1: | ;CALL 02E2H | |
01BFH | C9 | RET | ||
01C0H | C3 96 02 | JP SKIPNMI: | ;Einsprung Adresse 0296H | |
01C3H | 2A F8 23 | LD HL,(23F8H) | ||
01C6H | 2B | DEC HL | ||
01C7H | 22 F8 23 | LD (23F8H),HL | ||
01CAH | CD C5 02 | CALL DAK1: | ;CALL 05C2H | |
01CDH | C9 | RET | ||
01CEH | 21 FA 23 | LD HL,23FAH | ||
01D1H | 35 | DEC M | ||
01D2H | CD 07 03 | CALL DAK1: | ;CALL 0703H | |
01D5H | 20 04 | JRNZ DAK1: | ;relativer Sprung auf 01DBH wenn nicht ZERO | |
01D7H | 34 | INC M | ||
01D8H | C3 96 02 | JP SKIPNMI: | ;Einsprung Adresse 0296H | |
SYS6: | 01DBH | CD E2 02 | JP SKIPNMI: | ;Einsprung Adresse 02E2H |
01DEH | C9 | RET | ||
SYS7: | 01DFH | C3 96 02 | JP SKIPNMI: | ;Einsprung Adresse 0296H |
01E2H | E5 | PUSH HL | ||
01E3H | 2A F8 23 | LD HL,(23F8H) | ||
01E6H | E3 | EX (SP),HL | ||
01E7H | C9 | RET | ||
01E8H | ED 53 F8 23 | LD (23F8H),DE | ||
01ECH | CD C5 02 | CALL DAK1: | ;CALL 05C2H | |
01EFH | C9 | RET | ||
01F0H | CD 88 03 | CALL DAK1: | ;CALL 0388H | |
01F3H | 38 EA | JRC SYS7: | ;relativer Sprung auf 01DFH wenn nicht CARRY | |
01F5H | 32 F1 23 | LD (23F1H),A | ||
01F8H | 21 A0 0F | LD HL,0FA0H | ||
01FBH | CD 70 03 | CALL DAK1: | ;CALL 0703H | |
01FEH | 21 EB 23 | LD HL,23EBH | ||
0201H | 01 07 00 | LD BC,0007H | ||
0204H | CD 1B 04 | CALL DAK1: | ;CALL 041BH | |
0207H | 21 A0 0F | LD HL,0FA0H | ||
020AH | CD 74 03 | CALL DAK1: | ;CALL 0374H | |
020DH | CD 95 03 | CALL DAK1: | ;CALL 0395H | |
0210H | CD 1B 04 | CALL DAK1: | ;CALL 041BH | |
0213H | 21 A0 0F | LD HL,0FA0H | ||
0216H | CD 74 03 | CALL DAK1: | ;CALL 0374H | |
0219H | ED 5B EF 23 | LD DE,(23EFH) | ||
021DH | 18 C9 | JR SYS7: | ;relativer Sprung auf 01DFH | |
021FH | DD 21 A5 05 | LD IX,05A5H | ||
0223H | C3 8A 00 | JP SKIPNMI: | ;Einsprung Adresse 008AH | |
0226H | 2A EB 23 | LD HL,(23EBH) | ||
0229H | 22 FE 23 | LD (23FEH),HL | ||
022CH | 3E EF | LD A, EFH | ||
022EH | 32 EA 23 | LD (23EAH),A | ||
0231H | 3A EA 23 | LD A, (23EAH) | ||
0234H | D3 F4 | OUT (SYSPIOAD),A | ;System-PIO Kanal A Datenport F4H angesprochen | |
0236H | 21 E8 03 | LD HL,03E8H | ||
SYS8: | 0239H | CD 00 04 | CALL DAK1: | ;CALL 0400H |
023CH | 38 F3 | JRC SYS3: | ||
023EH | 2B | DEC HL | ||
023FH | 7C | LD A,H | ||
0240H | B5 | OR L | ||
0241H | 20 F6 | JRNZ SYS8: | ;relativer Sprung auf 0239H wenn nicht ZERO | |
SYS9: | 0243H | CD 00 04 | CALL DAK1: | ;CALL 0400H |
0246H | 30 FB | JRNC SYS9: | ;relativer Sprung auf 0243H wenn nicht CARRY | |
0248H | 21 EB 23 | LD HL,23EBH | ||
024BH | 01 07 00 | LD BC,0007H | ||
024EH | CD A7 03 | CALL DAK1: | ;CALL 03A7H | |
0251H | 38 DE | JRNZ SYS8: | ||
0253H | ED 5B EB 23 | LD DE,(23EBH) | ||
0257H | CD B7 04 | CALL DAK1: | ;CALL 04B7H | |
025AH | 06 4B | LD B,4BH | ||
SYS10: | 025CH | CD 83 04 | CALL DAK1: | ;CALL 0483H |
025FH | 10 FB | DJNZ SYS10: | ;verringere B um eins und springe relativ auf 025CH wenn nicht ZERO | |
0261H | 2A FE 23 | LD HL,(23FEH) | ||
0264H | B7 | OR A | ||
0265H | ED 52 | SBC HL,DE | ||
0267H | 3E F7 | LD A,F7H | ||
0269H | 32 EA 23 | LD (23EAH),A | ||
026CH | 20 C3 | JRNZ SYS9: | ;relativer Sprung auf 0243H wenn nicht ZERO | |
026EH | 3E FE | LD A, FEH | ||
0270H | D3 F4 | OUT (SYSPIOAD),A | ;System-PIO Kanal A Datenport F4H angesprochen | |
0272H | CD 95 03 | CALL DAK1: | ;CALL 0395H | |
0275H | 38 A8 | JRC SYS8: | ;relativer Sprung auf 0239H wenn CARRY | |
0277H | CD A7 03 | CALL DAK1: | ;CALL 03A7H | |
027AH | 38 A3 | JRC SYS8: | ;relativer Sprung auf 0239H wenn CARRY | |
027CH | CD 88 03 | CALL DAK1: | ;CALL 0388H | |
027FH | 21 F1 23 | LD HL,23F1H | ||
0282H | BE | CP M | ||
0283H | 20 9A | JRNZ SYS8: | ;relativer Sprung auf 0243H wenn nicht ZERO | |
0285H | 18 92 | JR SYS8: | ;relativer Sprung auf 0243H | |
0287H | 5E | LD E,M | ||
0288H | 23 | INC HL | ||
0289H | 56 | LD D,M | ||
028AH | 23 | INC HL | ||
028BH | D5 | PUSH DE | ||
028CH | 5F | LD E,A | ||
028DH | 16 00 | LD D,00H | ||
028FH | 19 | ADD HL,DE | ||
0290H | D1 | POP DE | ||
0291H | 6E | LD l,M | ||
0292H | 26 00 | LD H,00H | ||
0294H | 19 | ADD HL,DE | ||
0295H | E9 | JUMP M | ||
0296H | 21 FD 23 | LD HL,23FDH | ||
0299H | CB FE | SET 7,M | ||
029BH | C9 | RET | ||
029CH | 3E 80 | LD A,80H | ||
029EH | 32 FC 23 | LD (23FCH),A | ||
02A1H | CD EA 04 | CALL DAK1: | ;CALL 04EAH | |
02A4H | CD 1B 03 | CALL DAK1: | ;CALL 031BH | |
02A7H | C9 | RET | ||
02A8H | 3A FD 23 | LD A,(23FDH) | ||
02ABH | B7 | OR A | ||
02ACH | C8 | RZ | ;Rückkehr von Subroutine, wenn ZERO | |
02ADH | 3E 00 | LD A,00H | ||
02AFH | 77 | LD M, A | ||
02B0H | 32 FD 23 | LD (23FDH),A | ||
02B3H | C9 | RET | ||
02B4H | CD A8 02 | CALL DAK1: | ;CALL 02A8H | |
02B7H | C8 | RZ | ||
02B8H | 23 | INC HL | ||
02B9H | 77 | LD M,A | ||
02BAH | 2B | DEC HL | ||
02BBH | C9 | RET | ||
02BCH | 3E 01 | LD A,01H | ||
02BEH | 06 04 | LD B,04H | ||
02C0H | 21 F4 23 | LD HL,23F1H | ||
02C3H | 18 07 | JR SYS11: | ;relativer Sprung auf 02CCH | |
02C5H | 3E 02 | LD A, 02H | ||
02C7H | 06 02 | LD B,02H | ||
02C9H | 21 F2 23 | LD HL,23F2H | ||
SYS11: | 02CCH | 32 FB 23 | LD (23FB),A | |
02CFH | D9 | EXX | ||
02D0H | ED 5B F8 23 | LD DE,(23E8H) | ||
02D4H | CD B7 04 | CALL DAK1: | ;CALL 04B7H | |
02D7H | 1A | LD A, DE | ||
02D8H | CD C3 04 | CALL DAK1: | ;CALL 04C3H | |
02DBH | D9 | EXX | ||
SYS13: | 02DCH | CB E6 | SET 4,M | |
02DEH | 23 | INC HL | ||
02DFH | 10 FB | DJNZ | ;verringere B um eins und springe relativ auf 02DCH wenn nicht ZERO | |
02E1H | C9 | RET | ||
02E2H | CD FD 02 | CALL DAK1: | ;CALL 02FDH | |
02E2H | 5E | LD E,M | ||
02E2H | 23 | INC HL | ||
02E2H | 56 | LD D, M | ||
02E2H | CD B7 04 | CALL DAK1: | ;CALL 04B7H | |
02E5H | 21 F4 23 | LD HL, 23F4H | ||
02E8H | 06 04 | LD B,04H | ||
02F0H | CD DC 02 | CALL DAK1: | ;CALL 02DCH | |
02F3H | CD 07 03 | CALL DAK1: | ;CALL 0307H | |
02F6H | 6F | LD L,A | ||
02F7H | 26 08 | LD H,08H | ||
02F9H | 22 F2 23 | LD (23FEH),HL | ||
02FCH | C9 | RET | ||
02FDH | 3A FA 23 | LD A,23FAH | ||
0300H | 87 | ADD A | ||
0301H | 21 EB 23 | LD HL,23EBH | ||
0304H | 85 | ADD L | ||
0305H | 6F | LD L,A | ||
0306H | C9 | RET | ||
0307H | 3A FB 23 | LD A,23FBH | ||
030AH | D6 04 | SUB 04H | ||
030CH | 87 | ADD A | ||
030DH | 87 | ADD A | ||
030EH | 11 89 04 | LD DE,0489H | ||
0311H | 83 | ADD E | ||
0312H | 5F | LD E, A | ||
0313H | 3A FA 23 | LD A,23FAH | ||
0316H | 83 | ADD E | ||
0317H | 5F | LD E, A | ||
0318H | 1A | LD A,(DE) | ||
0319H | B7 | OR A | ||
031AH | C9 | RET | ||
031BH | 0E 05 | LD C,05H | ||
031DH | 21 83 05 | LD HL,0583H | ||
0320H | E5 | PUSH HL | ||
0321H | DD 21 7D 05 | LD IX,057DH | ||
0325H | CD 5E 03 | CALL DAK1: | ;CALL 035EH | |
0328H | DD E3 | EX (SP), IX | ||
032AH | 06 14 | LD B,14H | ||
SYS15: | 032CH | CD 83 04 | CALL DAK1: | ;CALL 0483H |
032FH | 10 FB | DJNZ SYS15: | ;verringere B um eins und springe relativ auf 032CH wenn nicht ZERO | |
0331H | CD 67 03 | CALL DAK1: | ;CALL 0367H | |
0334H | 06 14 | LD B,14H | ||
SYS16: | 0336H | CD 83 04 | CALL DAK1: | ;CALL 0483H |
0339H | 10 FB | DJNZ SYS16: | ;verringere B um eins und springe relativ auf 0336H wenn nicht ZERO | |
033BH | 0D | DEC C | ||
033CH | 20 E7 | JRNZ SYS16: | ;relativer Sprung auf 0243H wenn nicht ZERO | |
033EH | 0E 15 | LD C,15H | ||
0340H | DD 21 89 05 | LD IX,0589H | ||
SYS19: | 0344H | 06 0B | LD C,0BH | |
0346H | CD 83 04 | CALL DAK1: | ;CALL 0483H | |
0349H | 10 FB | DJNZ SYS19: | ;verringere B um eins und springe relativ auf 0344H wenn nicht ZERO | |
034BH | CB 41 | BIT 0, C | ||
034DH | 20 05 | JRNZ SYS17: | ;relativer Sprung auf 0354H wenn nicht ZERO | |
034FH | CD 66 03 | CALL DAK1: | ;CALL 0366H | |
0352H | 18 03 | JR SYS18: | ;relativer Sprung auf 0357H | |
SYS17: | 0354H | CD 5E 03 | CALL DAK1: | ;CALL 035EH |
SYS18: | 0357H | DD 2B | DEC IX | |
0359H | 0D | DEC C | ||
035AH | 20 E8 | JRNZ SYS19: | ;relativer Sprung auf 0344H wenn nicht ZERO | |
035CH | E1 | POP HL | ||
035DH | C9 | RET | ||
035EH | D9 | EXX | ||
035FH | 21 50 00 | LD HL, 5000H | ||
0362H | CD 70 03 | CALL DAK1: | ;CALL 0370H | |
0365H | D9 | EXX | ||
0366H | C9 | RET | ||
0367H | D9 | EXX | ||
0368H | 21 A0 00 | LD HL, 000AH | ||
036BH | CD 74 03 | CALL DAK1: | ;CALL 0374H | |
036EH | D9 | EXX | ||
036FH | C9 | RET | ||
0370H | 0E 20 | LD C, 20H | ||
0372H | 18 02 | JR SYS20: | ;relativer Sprung auf 0370H | |
0374H | 0E 0F | LD C, 0FH | ||
SYS20: | 0376H | 29 | ADD HL, HL | |
0377H | 11 01 00 | LD DE, 0001H | ||
037AH | 3E FF | LD A, FFH | ||
SYS21: | 037CH | D3 F5 | OUT (SYSPIOBD), A | ;System-PIO Kanal B Datenport F5H angesprochen |
037EH | 41 | LD B, C | ||
SYS22: | 037FH | 10 FE | DJNZ SYS22: | ;verringere B um eins und springe relativ auf 037FH wenn nicht ZERO |
0381H | EE 02 | XOR 02H | ||
0383H | ED 52 | SBC HL, DE | ||
0385H | 20 F5 | JRNZ SYS21: | ;relativer Sprung auf 0370H wenn nicht ZERO | |
0387H | C9 | RET | ||
0388H | CD 95 03 | CALL SYS24: | ;CALL 0395H | |
038BH | D8 | RC | ||
038CH | AF | XOR A | ||
SYS23: | 038DH | 86 | ADD M | |
038EH | ED A1 | CPI | ||
0390H | EA 8D 03 | JPPE SYS23: | ;Einsprung Adresse 038DH, wenn PARYTY EVEN | |
0393H | B7 | OR A | ||
0394H | C9 | RET | ||
SYS24: | 0395H | 21 ED 23 | LD HL, 23EDH | |
0398H | 5E | LD E, M | ||
0399H | 23 | INC HL | ||
039AH | 56 | LD D, M | ||
039BH | 23 | INC HL | ||
039CH | 4E | LD C, M | ||
0390H | 23 | INC HL | ||
039DH | 66 | LD H, M | ||
039EH | 69 | LD L, C | ||
03A0H | B7 | OR A | ||
03A1H | ED 52 | SBC HL, DE | ||
03A3H | 4D | LD C, L | ||
03A4H | 44 | LD B, H | ||
03A5H | EB | EXX DE, HL | ||
03A6H | C9 | RET | ||
03A7H | AF | XOR A | ||
03A8H | 08 | EX AF | ||
SYS25: | 03A9H | CD B4 03 | CALL DAK1: | ;CALL 03B4H |
03ACH | 73 | LD M, E | ||
03ADH | ED A1 | CPI | ||
03AFH | EA A9 03 | JPPE SYS23: | ;Einsprung Adresse 03A9H, wenn PARYTY EVEN | |
03B2H | 08 | EX AF | ||
03B3H | C9 | RET | ||
03B4H | CD C5 03 | CALL SYS27: | ;CALL 03C5H | |
03B7H | 16 08 | LD D, 08H | ||
SYS26: | 03B9H | CD C5 03 | CALL SYS27: | ;CALL 03C5H |
03BCH | CB 1B | RR E | ||
03BEH | 15 | DEC D | ||
03BFH | 20 F8 | JRNZ SYS26: | ;relativer Sprung auf 03B9H wenn nicht ZERO | |
03C1H | CD C5 03 | CALL SYS27: | ;CALL 03C5H | |
03C4H | C9 | RET | ||
SYS27: | 03C5H | D9 | EXX | |
03C6H | 21 00 00 | LD HL, 000AH | ||
SYS28: | 03C9H | CD 00 04 | CALL SYS27: | ;CALL 0400H |
03CCH | 14 | INC D | ||
03CDH | 15 | DEC D | ||
03CEH | 20 11 | JRNZ SYS30: | ;relativer Sprung auf 03E0H wenn nicht ZERO | |
03D0H | 38 06 | JRC SYS29: | ;relativer Sprung zu auf 03D7H, wenn CARRY | |
03D1H | 2D | DEC L | ||
03D2H | 2D | DEC L | ||
03D3H | CB C4 | SET 0, H | ||
03D5H | 18 F1 | JR SYS28: | ;relativer Sprung auf 03C9H | |
SYS29: | 03D7H | 2C | INC L | |
03D8H | CB 44 | BIT 0, H | ||
03DAH | 28 EC | JRZ SYS28: | ;relativer Sprung zu auf 03C9H, wenn ZERO | |
03DCH | CB 15 | RR L | ||
03DEH | D9 | EXX | ||
03EFH | C9 | RET | ||
SYS30: | 03E0H | 08 | EX AF | |
03E0H | 37 | SCF | ||
03E0H | 08 | EX AF | ||
03E0H | D9 | EXX | ||
03E0H | C9 | RET | ||
SYS31: | 0400H | 11 00 00 | LD DE, 0000H | |
SYS32: | 0403H | DB F5 | IN A, (SYSPIOBD) | ;System-PIO Kanal B Datenport F5H in A eingelesen |
0405H | 13 | INC DE | ||
0406H | 1F | RRA | ||
0407H | 38 FA | JRC SYS32: | ;relativer Sprung zu auf 0403H, wenn CARRY | |
0409H | 3E 00 | LD A, 00H | ||
040BH | D3 F5 | OUT (SYSPIOBD), A | ;System-PIO Kanal B Datenport F5H angesprochen | |
SYS33: | 040DH | DB F5 | IN A, (SYSPIOBD) | ;System-PIO Kanal B Datenport F5H in A eingelesen |
040FH | 13 | INC DE | ||
0410H | 1F | RRA | ||
0411H | 30 FA | JRNC SYS33: | ;relativer Sprung zu auf 03C9H, wenn nicht CARRY | |
0413H | 3E 02 | LD A, 02H | ||
0415H | D3 F5 | OUT (SYSPIOBD), A | ;System-PIO Kanal B Datenport F5H angesprochen | |
0417H | 7B | LD A, E | ||
0418H | FE 16 | CP 16H | ||
041AH | C9 | RET | ||
041BH | 5E | LD E, M | ||
041CH | CD 25 04 | DEC H | ||
041FH | ED A1 | CPI | ||
0421H | EA 1B 04 | JPPE SYS23: | ;Einsprung Adresse 041BH, wenn PARYTY EVEN | |
0424H | C9 | JPPE nn | ||
0425H | 16 08 | LD D, 08H | ||
0427H | B7 | OR A | ||
0428H | CD 38 04 | CALL SYS35: | ;CALL 0438H | |
SYS34: | 042BH | CB 1B | RR E | |
042DH | CD 38 04 | CALL SYS35: | ;CALL 0438H | |
0430H | 15 | DEC D | ||
0431H | 20 F8 | JRNZ SYS34: | ;relativer Sprung auf 042BH wenn nicht ZERO | |
0433H | 37 | SCF | ||
0434H | CD 38 04 | CALL SYS35: | ;CALL 0438H | |
0437H | C9 | RET | ||
SYS35: | 0438H | D9 | EXX | |
0439H | 26 00 | LD H, 00H | ||
043BH | 38 09 | JRC SYS36: | ;relativer Sprung zu auf 0446H, wenn CARRY | |
043DH | 2E 0C | LD L, 0CH | ||
043FH | CD 74 03 | CALL SYS35: | ;CALL 0374H | |
0442H | 2E 03 | LD L, 03H | ||
0444H | 18 07 | JR SYS37: | ;relativer Sprung auf 044DHH | |
SYS36: | 0446H | 2E 06 | LD L, 06H | |
0448H | CD 74 03 | CALL SYS35: | ;CALL 0374H | |
044BH | 2E 06 | LD L, 06H | ||
SYS37: | 044DH | CD 70 03 | CALL SYS35: | ;CALL 0370H |
0450H | D9 | EXX | ||
0451H | C9 | RET | ||
0452H | 7E | LD A, M | ||
0453H | 2F | CPL | ||
0454H | 77 | LD M, A | ||
0455H | 7E | LD A, M | ||
0456H | 2F | CPL | ||
0457H | 77 | LD M, A | ||
0458H | BE | CP M | ||
0459H | C9 | RET | ||
045AH | DD E5 | PUSH IX | ||
045CH | 21 FD 23 | LD HL, 23FDH | ||
045FH | CB 7E | BIT 7, M | ||
0461H | 28 04 | JRZ SYS38: | ;relativer Sprung zu auf 0467H, wenn ZERO | |
0463H | DD 21 A5 05 | LD IX, 05A5H | ||
SYS38: | 0467H | 06 06 | LD B, 06H | |
SYS39: | 0469H | CD 83 04 | CALL DAK2: | ;CALL 0483H |
046CH | 30 F9 | JRNC SYS38: | ;relativer Sprung zu auf 0467H, wenn nicht CARRY | |
046EH | 10 F9 | DJNZ SYS39: | ;verringere B um eins und springe relativ auf 0469H wenn nicht ZERO | |
0470H | CB BE | RES 7, M | ||
0472H | DD E1 | POP IX | ||
SYS40: | 0474H | CD 83 04 | CALL DAK2: | ;CALL 0483H |
0477H | 38 FB | JRC SYS40: | ;relativer Sprung zu auf 0474H, wenn CARRY | |
0479H | 21 EF 05 | LD HL, 05EFH | ||
SYS45: | 047CH | 85 | ADD M | |
047DH | 6F | LD L, A | ||
047EH | 30 01 | JRNC SYS42: | ;relativer Sprung auf 0481H wenn nicht CARRY | |
0480H | 24 7E | |||
0482H | C9 | |
||
37 08 D9 0E 00
1E FB DD 7E 00 2F D3 F4 0490H 7B D3 F5 06 64 10 FE 06 04 DB F9 57 CB 12 38 02 04A0H 79 08 0C 10 F7 DD 23 CB 03 3E FF D3 F5 38 DB 11 04B0H FA FF DD 19 D9 08 C9 21 F4 23 7B CD D9 04 7A CD 04C0H D9 04 C9 21 F2 23 CD D9 04 C9 E5 D5 21 07 06 E6 04D0H 0F 5F 16 00 19 D1 7E E1 C9 F5 CD CA 04 77 23 F1 04E0H 0F 0F 0F 0F CD CA 04 77 23 C9 FD 21 17 06 FD E5 04F0H DD E1 DD 7E 00 87 D8 FA EE 04 0E 00 CB 77 20 02 0500H CB C9 E6 3F 21 34 05 5F 16 00 19 5E 23 56 DD 23 0510H DD 66 00 3E FF 6A D3 F5 43 00 10 FD A9 2D 20 F6 0520H 25 20 F2 DD 23 18 CB 3A FB 23 FE 01 C8 FE 02 C8 0530H E1 C3 96 02 70 18 6A 1A 64 1B 5E 1D 59 1E 54 20 0540H 4F 22 4B 24 46 26 42 29 3F 2B 3B 2E 38 31 35 33 0550H 32 37 2F 3A 2C 3D 2A 41 27 45 25 49 23 4D 21 52 0560H 1F 57 1D 5C 1B 62 1A 67 18 6E 17 74 16 7B 14 82 0570H 13 8A 12 92 E7 EF 08 C6 C2 00 00 4E E7 00 48 CE 0580H AE E3 00 00 E7 C2 C2 6F 6B 00 00 00 00 00 00 00 0590H 00 4E AE CE 00 4E 00 00 00 00 00 CA 68 21 00 EF 05A0H AD 00 CA AE 48 00 48 E8 48 48 CE 4D 01 00 05 0A 05B0H 00 0F 00 00 00 63 01 00 00 00 00 00 00 04 04 6B 05C0H 01 00 16 03 00 00 00 26 26 00 00 A1 01 00 03 03 05D0H 00 00 00 0E 0E 00 00 C0 01 00 03 03 00 00 00 0E 05E0H 0E 00 00 DF 01 00 03 03 00 00 00 11 47 00 00 12 05F0H 1E 1F 00 00 01 02 03 04 05 10 07 08 09 0E 0B 0C 0600H 0D 0A 0F 19 14 06 11 E7 21 CD AD 2B AE EE 25 EF 0610H AF 6F EA C4 E9 CE 4E 12 02 20 02 10 02 20 02 12 0620H 02 20 02 0D 02 20 02 09 02 20 02 0D 02 20 02 06 0630H 02 20 06 12 02 20 02 10 02 20 02 12 02 20 02 0D 0640H 02 20 02 09 02 20 02 0D 02 20 02 06 02 20 06 12 0650H 02 20 02 14 02 20 02 15 02 20 02 14 02 20 02 15 0660H 02 20 02 12 02 20 02 14 02 20 02 12 02 20 02 14 0670H 02 20 02 10 02 20 02 12 02 20 02 10 02 20 02 12 0680H 02 20 02 0D 02 20 02 12 04 20 06 80 FF FF FF FF 0690H 22 EC 22 21 42 07 22 02 23 E1 E5 ED 73 FA 22 31 06A0H E4 22 CD 56 07 3A FE 22 2F FD 21 E6 22 F5 21 CF 06B0H 07 85 6F 5E 23 56 ED 53 F2 23 F1 16 00 5F FD 19 06C0H FD 5E 00 FD 56 01 ED 53 04 23 2F 32 FE 22 CD B7 06D0H 04 DD 21 F2 23 CD 5A 04 FE 10 38 14 28 37 FE 11 06E0H 28 42 FE 12 28 23 FE 19 28 49 FE 14 28 5D 18 E1 06F0H 21 04 23 ED 6F 23 ED 6F ED 5B 04 23 CD B7 04 21 0700H F4 23 06 04 CD DC 02 18 C8 ED 5B 04 23 FD 73 00 0710H FD 72 01 18 B9 3A FE 22 2F FE 16 38 02 3E FE 3C 0720H 3C C3 A9 06 3A FE 22 2F FE 00 20 02 3E 18 3D 3D 0730H C3 A9 06 31 E4 22 CD 71 07 ED 7B FA 22 E1 2A FC 0740H 22 E5 2A 02 23 E9 2A EC 22 ED 45 2A FC 22 7E EB 0750H CD C3 04 C3 CE 06 31 FE 22 E5 3B 3B FD E5 DD E5 0760H D9 08 E5 D5 C5 F5 D9 08 3B 3B D5 C5 F5 31 E2 22 0770H C9 31 E6 22 F1 C1 D1 E1 D9 08 F1 C1 D1 E1 D9 08 0780H DD E1 FD E1 31 E2 22 C9 FF FF FF FF FF FF FF FF 0790H 2A F8 23 E5 21 C2 07 22 00 23 3E E9 32 FE 22 21 07A0H A5 07 22 02 23 F5 2A EC 22 3E 00 D3 EC 3E 85 D3 07B0H EC 3E 04 D3 EC ED 5E 3E 23 ED 47 C6 00 FB 00 F1 07C0H ED 4D F3 F5 3E 03 D3 EC F1 22 EC 22 C3 99 06 4E 07D0H 6F C6 EA CE E9 C2 6B 5E 7F D6 FA DE F9 D2 7B 4A 07E0H 20 AB 20 4F AE C6 4F 5B FF FF FF FF FF FF FF FF 07F0H FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF A1 |
||||
INT00: | 2300H | FF | RST 0000H | |
INT08: | 2308H | FF | RST 0038H | |
INT10: | 2310H | FF | RST 0038H | |
INT18: | 2318H | FF | RST 0038H | |
INT20: | 2320H | FF | RST 0038H | |
INT28: | 2328H | FF | RST 0038H | |
INT30: | 2330H | FF | RST 0038H | |
INT38: | 2338H | C3 | ||
EQUATE | ||||
2040H | ORG 2040H | ;DATEN Adresse | ||
2040H | DEFB 05AH | ;erste Zahl | ||
2041H | 79 | DEFB 079H | ;zweite Zahl |
![]() zur Hauptseite |
© Samuel-von-Pufendorf-Gymnasium Flöha | © Frank Rost im Juli 2003 |
... 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 |