Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung |
z1013:software:monitor:riesa202 [2011/12/07 15:09] – Next-Kommando korrigiert volkerp | z1013:software:monitor:riesa202 [2012/11/04 14:20] (aktuell) – volkerp |
---|
<WRAP lo> | <WRAP lo> |
<code> | <code> |
AS V1.42 Beta [Bld 64] - source file z1013riesa.asm - page 1 - 12/7/2011 16:07:20 | AS V1.42 Beta [Bld 64] - source file z1013riesa.asm - page 1 - 12/15/2011 10:24:49 |
| |
1/ 0 : page 0 | 1/ 0 : page 0 |
723/ 33 : =>TRUE IF MONTYP == "Z1013_202" | 723/ 33 : =>TRUE IF MONTYP == "Z1013_202" |
724/ 33 : | 724/ 33 : |
725/ 33 : D0 07 DW 07D0H ;Kenntonlaenge LSYNC | 725/ 33 : D0 07 DW 2000 ;Kenntonlaenge LSYNC |
726/ 35 : 10 00 08 DB 10h,00h,08h ;Tastaturcodetabelle 0035H Shift-Ebene 4 | 726/ 35 : 10 00 08 DB 10h,00h,08h ;Tastaturcodetabelle 0035H Shift-Ebene 4 |
727/ 38 : C3 58 F0 JP KDO1 ;RST38-Sprung RST38 | 727/ 38 : C3 58 F0 JP KDO1 ;RST38-Sprung RST38 |
736/ 4D : =>FALSE ELSEIF MONTYP == "Z1013_A2" | 736/ 4D : =>FALSE ELSEIF MONTYP == "Z1013_A2" |
737/ 4D : | 737/ 4D : |
738/ 4D : dw 7D0h ;Kenntonlaenge LSYNC | 738/ 4D : dw 2000 ;Kenntonlaenge LSYNC |
739/ 4D : DW BWSSZ-BWSCOL ;WINDOW-Laenge WINDL | 739/ 4D : DW BWSSZ-BWSCOL ;WINDOW-Laenge WINDL |
740/ 4D : db 0 ;Status-Merkzelle f. INKEY KYBTS | 740/ 4D : db 0 ;Status-Merkzelle f. INKEY KYBTS |
917/ F2B3 : ; | 917/ F2B3 : ; |
918/ F2B3 : ;------------------------------------------------------------------------------- | 918/ F2B3 : ;------------------------------------------------------------------------------- |
919/ F2B3 : ;Eingabe einer Zeile mit Promtsymbol | 919/ F2B3 : ;Eingabe einer Zeile mit Promptsymbol |
920/ F2B3 : ;------------------------------------------------------------------------------- | 920/ F2B3 : ;------------------------------------------------------------------------------- |
921/ F2B3 : ; | 921/ F2B3 : ; |
1090/ F381 : 18 03 JR SAV4 | 1090/ F381 : 18 03 JR SAV4 |
1091/ F383 : ;Ausgabe ein Block = 20H Bytes | 1091/ F383 : ;Ausgabe ein Block = 20H Bytes |
1092/ F383 : 11 0E 00 SAV3: LD DE,000EH ;kurzer Vorton | 1092/ F383 : 11 0E 00 SAV3: LD DE,14 ;kurzer Vorton |
1093/ F386 : | 1093/ F386 : ;Vorton: DE Halbschwingungen a 640 Hz |
1094/ F386 : 06 70 SAV4: LD B,70H ;Ausg. Vorton | 1094/ F386 : 06 70 SAV4: LD B,70H ;Ausg. Vorton |
1095/ F388 : 10 FE SAV5: DJNZ SAV5 | 1095/ F388 : 10 FE SAV5: DJNZ SAV5 |
1096/ F38A : CD F1 F3 CALL SAV21 ;Umschalter | 1096/ F38A : CD F1 F3 CALL SAV21 ;Flanke wechseln |
1097/ F38D : 1B DEC DE | 1097/ F38D : 1B DEC DE |
1098/ F38E : 7B LD A,E | 1098/ F38E : 7B LD A,E |
1099/ F38F : B2 OR D | 1099/ F38F : B2 OR D |
1100/ F390 : 20 F4 JR NZ,SAV4 | 1100/ F390 : 20 F4 JR NZ,SAV4 |
1101/ F392 : 0E 02 LD C,02H ;Ausgabe Synchron- | 1101/ F392 : ;Trennschwingung: 1 Vollschwingung a 1280 Hz |
1102/ F394 : 06 35 SAV6: LD B,35H ;impulse | 1102/ F392 : 0E 02 LD C,02H ;Ausgabe Synchron- |
1103/ F396 : 10 FE SAV7: DJNZ SAV7 | 1103/ F394 : 06 35 SAV6: LD B,35H ;impulse |
1104/ F398 : CD F1 F3 CALL SAV21 ;Umschalter | 1104/ F396 : 10 FE SAV7: DJNZ SAV7 |
1105/ F39B : 0D DEC C | 1105/ F398 : CD F1 F3 CALL SAV21 ;Flanke wechseln |
1106/ F39C : 11 00 00 LD DE,0 | 1106/ F39B : 0D DEC C |
1107/ F39F : 20 F3 JR NZ,SAV6 | 1107/ F39C : 11 00 00 LD DE,0 |
1108/ F3A1 : D5 PUSH DE ;DE=IX=0000 | 1108/ F39F : 20 F3 JR NZ,SAV6 |
1109/ F3A2 : DD E1 POP IX | 1109/ F3A1 : ; |
1110/ F3A4 : ;Kopfinhalt ausgeben | 1110/ F3A1 : D5 PUSH DE ;DE=IX=0000 |
1111/ F3A4 : 06 12 LD B,12H | 1111/ F3A2 : DD E1 POP IX |
1112/ F3A6 : 10 FE SAV8: DJNZ SAV8 | 1112/ F3A4 : ;Kopfinhalt ausgeben |
1113/ F3A8 : CD D0 F3 CALL SAV14 ;Ausgabe DE | 1113/ F3A4 : 06 12 LD B,12H ;kurze Pause |
1114/ F3AB : 06 0F LD B,0FH | 1114/ F3A6 : 10 FE SAV8: DJNZ SAV8 |
1115/ F3AD : 10 FE SAV9: DJNZ SAV9 | 1115/ F3A8 : CD D0 F3 CALL SAV14 ;Ausgabe DE |
1116/ F3AF : ;20H Bytes ausgeben | 1116/ F3AB : 06 0F LD B,0FH ;kurze Pause |
1117/ F3AF : 0E 10 LD C,10H ;10H*2 Bytes | 1117/ F3AD : 10 FE SAV9: DJNZ SAV9 |
1118/ F3B1 : 5E SAV10: LD E,(HL) | 1118/ F3AF : ;20H Bytes ausgeben |
1119/ F3B2 : 23 INC HL | 1119/ F3AF : 0E 10 LD C,10H ;10H*2 Bytes |
1120/ F3B3 : 56 LD D,(HL) | 1120/ F3B1 : 5E SAV10: LD E,(HL) |
1121/ F3B4 : DD 19 ADD IX,DE ;Pruefsumme bilden | 1121/ F3B2 : 23 INC HL |
1122/ F3B6 : 23 INC HL | 1122/ F3B3 : 56 LD D,(HL) |
1123/ F3B7 : C5 PUSH BC | 1123/ F3B4 : DD 19 ADD IX,DE ;Pruefsumme bilden |
1124/ F3B8 : CD D0 F3 CALL SAV14 ;Ausgabe DE | 1124/ F3B6 : 23 INC HL |
1125/ F3BB : C1 POP BC | 1125/ F3B7 : C5 PUSH BC |
1126/ F3BC : 0D DEC C | 1126/ F3B8 : CD D0 F3 CALL SAV14 ;Ausgabe DE |
1127/ F3BD : 28 06 JR Z, SAV12 ;Block fertig geschrieben | 1127/ F3BB : C1 POP BC |
1128/ F3BF : 06 0E LD B,0EH | 1128/ F3BC : 0D DEC C |
1129/ F3C1 : 10 FE SAV11: DJNZ SAV11 | 1129/ F3BD : 28 06 JR Z, SAV12 ;Block fertig geschrieben |
1130/ F3C3 : 18 EC JR SAV10 | 1130/ F3BF : 06 0E LD B,0EH ;kurze Pause |
1131/ F3C5 : ;Pruefsumme ausgeben | 1131/ F3C1 : 10 FE SAV11: DJNZ SAV11 |
1132/ F3C5 : DD E5 SAV12: PUSH IX | 1132/ F3C3 : 18 EC JR SAV10 |
1133/ F3C7 : D1 POP DE ;Pruefsumme | 1133/ F3C5 : ;Pruefsumme ausgeben |
1134/ F3C8 : 06 10 LD B,10H | 1134/ F3C5 : DD E5 SAV12: PUSH IX |
1135/ F3CA : 10 FE SAV13: DJNZ SAV13 | 1135/ F3C7 : D1 POP DE ;DE = Pruefsumme |
1136/ F3CC : CD D0 F3 CALL SAV14 ;ausgeben | 1136/ F3C8 : 06 10 LD B,10H ;kurze Pause |
1137/ F3CF : C9 RET | 1137/ F3CA : 10 FE SAV13: DJNZ SAV13 |
1138/ F3D0 : ;Ausgabe 16 Bit DE | 1138/ F3CC : CD D0 F3 CALL SAV14 ;DE ausgeben |
1139/ F3D0 : 0E 10 SAV14: LD C,10H ;Ausgabe DE | 1139/ F3CF : C9 RET |
1140/ F3D2 : CB 3A SAV15: SRL D | 1140/ F3D0 : ;Ausgabe 16 Bit DE |
1141/ F3D4 : CB 1B RR E | 1141/ F3D0 : 0E 10 SAV14: LD C,16 ;16 Bit |
1142/ F3D6 : 30 07 JR NC, SAV17 ;C=1 Bit=1 | 1142/ F3D2 : CB 3A SAV15: SRL D ;Hi-Bit in Cy schieben |
1143/ F3D8 : 06 03 LD B,3 | 1143/ F3D4 : CB 1B RR E |
1144/ F3DA : 10 FE SAV16: DJNZ SAV16 | 1144/ F3D6 : 30 07 JR NC, SAV17 ;Cy=1, wenn Bit=1 |
1145/ F3DC : 00 NOP | 1145/ F3D8 : ;1-Bit 1 Halbschwingung mit 1280 Hz |
1146/ F3DD : 18 03 JR SAV18 | 1146/ F3D8 : 06 03 LD B,3 |
1147/ F3DF : CD F1 F3 SAV17: CALL SAV21 ;Flanke ausgeben | 1147/ F3DA : 10 FE SAV16: DJNZ SAV16 |
1148/ F3E2 : 06 19 SAV18: LD B,19H | 1148/ F3DC : 00 NOP |
1149/ F3E4 : 10 FE SAV19: DJNZ SAV19 | 1149/ F3DD : 18 03 JR SAV18 |
1150/ F3E6 : CD F1 F3 CALL SAV21 ;Flanke ausgeben | 1150/ F3DF : ;0-Bit 1 Vollschwingung mit 2560 Hz |
1151/ F3E9 : 0D DEC C | 1151/ F3DF : CD F1 F3 SAV17: CALL SAV21 ;Flanke ausgeben |
1152/ F3EA : C8 RET Z ;wenn fertig | 1152/ F3E2 : 06 19 SAV18: LD B,19H |
1153/ F3EB : 06 15 LD B,15H | 1153/ F3E4 : 10 FE SAV19: DJNZ SAV19 |
1154/ F3ED : 10 FE SAV20: DJNZ SAV20 | 1154/ F3E6 : CD F1 F3 CALL SAV21 ;Flanke ausgeben |
1155/ F3EF : 18 E1 JR SAV15 | 1155/ F3E9 : 0D DEC C |
1156/ F3F1 : ;Flanke ausgeben | 1156/ F3EA : C8 RET Z ;wenn fertig |
1157/ F3F1 : DB 02 SAV21: IN A, PIOBD ;Flanke ausgeben | 1157/ F3EB : 06 15 LD B,15H |
1158/ F3F3 : EE 80 XOR 80H ;durch Bit-Negierung Bit7 | 1158/ F3ED : 10 FE SAV20: DJNZ SAV20 |
1159/ F3F5 : D3 02 OUT PIOBD, A | 1159/ F3EF : 18 E1 JR SAV15 |
1160/ F3F7 : C9 RET | 1160/ F3F1 : ;Flanke ausgeben |
1161/ F3F8 : ; | 1161/ F3F1 : DB 02 SAV21: IN A, PIOBD ;Flanke ausgeben |
1162/ F3F8 : ;------------------------------------------------------------------------------- | 1162/ F3F3 : EE 80 XOR 80H ;durch Bit-Negierung Bit7 |
1163/ F3F8 : ;Laden von Kassette | 1163/ F3F5 : D3 02 OUT PIOBD, A |
1164/ F3F8 : ;------------------------------------------------------------------------------- | 1164/ F3F7 : C9 RET |
1165/ F3F8 : ; | 1165/ F3F8 : ; |
1166/ F3F8 : 2A 1B 00 CLOAD: LD HL,(ARG1) | 1166/ F3F8 : ;------------------------------------------------------------------------------- |
1167/ F3FB : CD 17 F4 LOA1: CALL LOA3 ;laden 20H Bytes | 1167/ F3F8 : ;Laden von Kassette |
1168/ F3FE : 28 0C JR Z, LOA2 ;wenn kein Ladefehler | 1168/ F3F8 : ;------------------------------------------------------------------------------- |
1169/ F400 : CD A5 F2 CALL PRST7 ;sonst Fehler | 1169/ F3F8 : ; |
1170/ F403 : 43 53 DB "CS" | 1170/ F3F8 : 2A 1B 00 CLOAD: LD HL,(ARG1) |
1171/ F405 : BC DB '<'+80h | 1171/ F3FB : CD 17 F4 LOA1: CALL LOA3 ;laden 20H Bytes |
1172/ F406 : CD 1A F3 CALL OUTHL ;Adresse ausgeben | 1172/ F3FE : 28 0C JR Z, LOA2 ;wenn kein Ladefehler |
1173/ F409 : CD CF F5 CALL OUTSP | 1173/ F400 : CD A5 F2 CALL PRST7 ;sonst Fehler |
1174/ F40C : EB LOA2: EX DE,HL | 1174/ F403 : 43 53 DB "CS" |
1175/ F40D : 2A 1D 00 LD HL,(ARG2) | 1175/ F405 : BC DB '<'+80h |
1176/ F410 : A7 AND A, A | 1176/ F406 : CD 1A F3 CALL OUTHL ;Adresse ausgeben |
1177/ F411 : ED 52 SBC HL,DE ;Endadresse erreicht? | 1177/ F409 : CD CF F5 CALL OUTSP |
1178/ F413 : EB EX DE,HL | 1178/ F40C : EB LOA2: EX DE,HL |
1179/ F414 : D8 RET C ;ja --> fertig | 1179/ F40D : 2A 1D 00 LD HL,(ARG2) |
1180/ F415 : 18 E4 JR LOA1 ;sonst weiterlesen | 1180/ F410 : A7 AND A, A |
1181/ F417 : ;20H Bytes laden nach (HL) | 1181/ F411 : ED 52 SBC HL,DE ;Endadresse erreicht? |
1182/ F417 : CD BC F4 LOA3: CALL LOA24 ;synchronisieren | 1182/ F413 : EB EX DE,HL |
1183/ F41A : CD C6 F4 CALL LOA25 ;Flanke abwarten | 1183/ F414 : D8 RET C ;ja --> fertig |
1184/ F41D : 0E 07 LD C,7 | 1184/ F415 : 18 E4 JR LOA1 ;sonst weiterlesen |
1185/ F41F : 11 10 09 LOA5: LD DE,0910H ;D=9, E=10h | 1185/ F417 : ;20H Bytes laden nach (HL) |
1186/ F422 : 3E 07 LD A,7 | 1186/ F417 : CD BC F4 LOA3: CALL LOA24 ;synchronisieren |
1187/ F424 : 3D LOA6: DEC A | 1187/ F41A : CD C6 F4 CALL LOA25 ;Flanke abwarten |
1188/ F425 : 20 FD JR NZ, LOA6 | 1188/ F41D : 0E 07 LD C,7 |
1189/ F427 : CD BC F4 CALL LOA24 ;synchronisieren | 1189/ F41F : 11 10 09 LOA5: LD DE,0910H ;D=9, E=10h |
1190/ F42A : CD BC F4 LOA7: CALL LOA24 ;Flanke ? | 1190/ F422 : 3E 07 LD A,7 |
1191/ F42D : 20 E8 JR NZ, LOA3 ;wenn nicht Vorton | 1191/ F424 : 3D LOA6: DEC A |
1192/ F42F : 15 DEC D | 1192/ F425 : 20 FD JR NZ, LOA6 |
1193/ F430 : 20 F8 JR NZ, LOA7 | 1193/ F427 : CD BC F4 CALL LOA24 ;synchronisieren |
1194/ F432 : 0D DEC C | 1194/ F42A : CD BC F4 LOA7: CALL LOA24 ;Flanke ? |
1195/ F433 : 28 0C JR Z, LOA9 | 1195/ F42D : 20 E8 JR NZ, LOA3 ;wenn nicht Vorton |
1196/ F435 : DB 02 LOA8: IN A, 2 | 1196/ F42F : 15 DEC D |
1197/ F437 : A8 XOR B | 1197/ F430 : 20 F8 JR NZ, LOA7 |
1198/ F438 : CB 77 BIT 6,A | 1198/ F432 : 0D DEC C |
1199/ F43A : 20 E3 JR NZ, LOA5 | 1199/ F433 : 28 0C JR Z, LOA9 |
1200/ F43C : 1D DEC E | 1200/ F435 : DB 02 LOA8: IN A, 2 |
1201/ F43D : 20 F6 JR NZ, LOA8 | 1201/ F437 : A8 XOR B |
1202/ F43F : 18 D6 JR LOA3 | 1202/ F438 : CB 77 BIT 6,A |
1203/ F441 : ;Synchronisierimpulse lesen | 1203/ F43A : 20 E3 JR NZ, LOA5 |
1204/ F441 : CD C6 F4 LOA9: CALL LOA25 ;Flanke abwarten | 1204/ F43C : 1D DEC E |
1205/ F444 : 3E 44 LD A,44H | 1205/ F43D : 20 F6 JR NZ, LOA8 |
1206/ F446 : 3D LOA10: DEC A | 1206/ F43F : 18 D6 JR LOA3 |
1207/ F447 : 20 FD JR NZ, LOA10 | 1207/ F441 : ;Synchronisierimpulse lesen |
1208/ F449 : CD BC F4 CALL LOA24 ;Flanke ? | 1208/ F441 : CD C6 F4 LOA9: CALL LOA25 ;Flanke abwarten |
1209/ F44C : 20 F3 JR NZ, LOA9 ;wenn nicht | 1209/ F444 : 3E 44 LD A,44H |
1210/ F44E : CD C6 F4 CALL LOA25 ;Flanke abwarten | 1210/ F446 : 3D LOA10: DEC A |
1211/ F451 : 3E 1E LD A,1EH | 1211/ F447 : 20 FD JR NZ, LOA10 |
1212/ F453 : 3D LOA11: DEC A | 1212/ F449 : CD BC F4 CALL LOA24 ;Flanke ? |
1213/ F454 : 20 FD JR NZ, LOA11 | 1213/ F44C : 20 F3 JR NZ, LOA9 ;wenn nicht |
1214/ F456 : ;2 Bytes Kopf lesen | 1214/ F44E : CD C6 F4 CALL LOA25 ;Flanke abwarten |
1215/ F456 : CD 9D F4 CALL LOA19 ;lesen DE | 1215/ F451 : 3E 1E LD A,1EH |
1216/ F459 : ;20H Byte Daten lesen | 1216/ F453 : 3D LOA11: DEC A |
1217/ F459 : 0E 10 LD C,10H ;10H x 2 Bytes | 1217/ F454 : 20 FD JR NZ, LOA11 |
1218/ F45B : D5 PUSH DE | 1218/ F456 : ;2 Bytes Kopf lesen |
1219/ F45C : DD E1 POP IX ;IX-Pruefsummenzaehler= | 1219/ F456 : CD 9D F4 CALL LOA19 ;lesen DE |
1220/ F45E : 3E 1A LD A,1AH | 1220/ F459 : ;20H Byte Daten lesen |
1221/ F460 : 3D LOA12: DEC A | 1221/ F459 : 0E 10 LD C,10H ;10H x 2 Bytes |
1222/ F461 : 20 FD JR NZ, LOA12 | 1222/ F45B : D5 PUSH DE |
1223/ F463 : CD 9D F4 LOA13: CALL LOA19 ;laden DE | 1223/ F45C : DD E1 POP IX ;IX-Pruefsummenzaehler= |
1224/ F466 : DD 19 ADD IX,DE ;Pruefsumme bilden | 1224/ F45E : 3E 1A LD A,1AH |
1225/ F468 : C5 PUSH BC | 1225/ F460 : 3D LOA12: DEC A |
1226/ F469 : 4D LD C,L | 1226/ F461 : 20 FD JR NZ, LOA12 |
1227/ F46A : 44 LD B,H | 1227/ F463 : CD 9D F4 LOA13: CALL LOA19 ;laden DE |
1228/ F46B : 2A 1D 00 LD HL,(ARG2) | 1228/ F466 : DD 19 ADD IX,DE ;Pruefsumme bilden |
1229/ F46E : AF XOR A | 1229/ F468 : C5 PUSH BC |
1230/ F46F : ED 42 SBC HL,BC ;Endadresse erreicht? | 1230/ F469 : 4D LD C,L |
1231/ F471 : 69 LD L,C | 1231/ F46A : 44 LD B,H |
1232/ F472 : 60 LD H,B | 1232/ F46B : 2A 1D 00 LD HL,(ARG2) |
1233/ F473 : C1 POP BC | 1233/ F46E : AF XOR A |
1234/ F474 : 38 05 JR C, LOA14 ;ja --> Leseende | 1234/ F46F : ED 42 SBC HL,BC ;Endadresse erreicht? |
1235/ F476 : 73 LD (HL),E | 1235/ F471 : 69 LD L,C |
1236/ F477 : 23 INC HL | 1236/ F472 : 60 LD H,B |
1237/ F478 : 72 LD (HL),D | 1237/ F473 : C1 POP BC |
1238/ F479 : 18 06 JR LOA16 | 1238/ F474 : 38 05 JR C, LOA14 ;ja --> Leseende |
1239/ F47B : 3E 01 LOA14: LD A,1 | 1239/ F476 : 73 LD (HL),E |
1240/ F47D : 3D LOA15: DEC A | 1240/ F477 : 23 INC HL |
1241/ F47E : 20 FD JR NZ, LOA15 | 1241/ F478 : 72 LD (HL),D |
1242/ F480 : 23 INC HL | 1242/ F479 : 18 06 JR LOA16 |
1243/ F481 : 23 LOA16: INC HL | 1243/ F47B : 3E 01 LOA14: LD A,1 |
1244/ F482 : 0D DEC C | 1244/ F47D : 3D LOA15: DEC A |
1245/ F483 : 28 07 JR Z, LOA18 ;wenn Blockende | 1245/ F47E : 20 FD JR NZ, LOA15 |
1246/ F485 : 3E 12 LD A,12H | 1246/ F480 : 23 INC HL |
1247/ F487 : 3D LOA17: DEC A | 1247/ F481 : 23 LOA16: INC HL |
1248/ F488 : 20 FD JR NZ, LOA17 | 1248/ F482 : 0D DEC C |
1249/ F48A : 18 D7 JR LOA13 ;naechte 2 Byte | 1249/ F483 : 28 07 JR Z, LOA18 ;wenn Blockende |
1250/ F48C : 3E 12 LOA18: LD A,12H | 1250/ F485 : 3E 12 LD A,12H |
1251/ F48E : 3D LOA27: DEC A | 1251/ F487 : 3D LOA17: DEC A |
1252/ F48F : 20 FD JR NZ, LOA27 | 1252/ F488 : 20 FD JR NZ, LOA17 |
1253/ F491 : ;Pruefsumme lesen | 1253/ F48A : 18 D7 JR LOA13 ;naechte 2 Byte |
1254/ F491 : CD 9D F4 CALL LOA19 ;laden DE | 1254/ F48C : 3E 12 LOA18: LD A,12H |
1255/ F494 : EB EX DE,HL | 1255/ F48E : 3D LOA27: DEC A |
1256/ F495 : DD E5 PUSH IX | 1256/ F48F : 20 FD JR NZ, LOA27 |
1257/ F497 : C1 POP BC | 1257/ F491 : ;Pruefsumme lesen |
1258/ F498 : AF XOR A | 1258/ F491 : CD 9D F4 CALL LOA19 ;laden DE |
1259/ F499 : ED 42 SBC HL,BC ;Prüfsumme gleich? | 1259/ F494 : EB EX DE,HL |
1260/ F49B : EB EX DE,HL ;Z=0 Ladefehler | 1260/ F495 : DD E5 PUSH IX |
1261/ F49C : C9 RET | 1261/ F497 : C1 POP BC |
1262/ F49D : ;Laden 2 Byte nach DE | 1262/ F498 : AF XOR A |
1263/ F49D : E5 LOA19: PUSH HL | 1263/ F499 : ED 42 SBC HL,BC ;Prüfsumme gleich? |
1264/ F49E : 2E 10 LD L,10H ;2 Trenn- und 8 Datenbits | 1264/ F49B : EB EX DE,HL ;Z=0 Ladefehler |
1265/ F4A0 : CD BC F4 LOA20: CALL LOA24 ;Flanke ? | 1265/ F49C : C9 RET |
1266/ F4A3 : 20 03 JR NZ, LOA21 | 1266/ F49D : ;Laden 2 Byte nach DE |
1267/ F4A5 : AF XOR A ;Cy=0 | 1267/ F49D : E5 LOA19: PUSH HL |
1268/ F4A6 : 18 01 JR LOA22 | 1268/ F49E : 2E 10 LD L,10H ;16 Datenbits |
1269/ F4A8 : 37 LOA21: SCF | 1269/ F4A0 : CD BC F4 LOA20: CALL LOA24 ;Flanke ? |
1270/ F4A9 : CB 1A LOA22: RR D | 1270/ F4A3 : 20 03 JR NZ, LOA21 |
1271/ F4AB : CB 1B RR E | 1271/ F4A5 : AF XOR A ;Cy=0 |
1272/ F4AD : CD C6 F4 CALL LOA25 ;Flanke abwarten | 1272/ F4A6 : 18 01 JR LOA22 |
1273/ F4B0 : 2D DEC L | 1273/ F4A8 : 37 LOA21: SCF |
1274/ F4B1 : 28 07 JR Z, LOA23 ;wenn fertig | 1274/ F4A9 : CB 1A LOA22: RR D |
1275/ F4B3 : 3E 1E LD A,1EH | 1275/ F4AB : CB 1B RR E |
1276/ F4B5 : 3D LOA26: DEC A | 1276/ F4AD : CD C6 F4 CALL LOA25 ;Flanke abwarten |
1277/ F4B6 : 20 FD JR NZ, LOA26 | 1277/ F4B0 : 2D DEC L |
1278/ F4B8 : 18 E6 JR LOA20 | 1278/ F4B1 : 28 07 JR Z, LOA23 ;wenn fertig |
1279/ F4BA : E1 LOA23: POP HL | 1279/ F4B3 : 3E 1E LD A,1EH |
1280/ F4BB : C9 RET | 1280/ F4B5 : 3D LOA26: DEC A |
1281/ F4BC : ;Portabfrage | 1281/ F4B6 : 20 FD JR NZ, LOA26 |
1282/ F4BC : DB 02 LOA24: IN A, PIOBD | 1282/ F4B8 : 18 E6 JR LOA20 |
1283/ F4BE : A8 XOR B | 1283/ F4BA : E1 LOA23: POP HL |
1284/ F4BF : CB 77 BIT 6,A ;Bit6->TB in | 1284/ F4BB : C9 RET |
1285/ F4C1 : F5 PUSH AF | 1285/ F4BC : ;Portabfrage |
1286/ F4C2 : A8 XOR B | 1286/ F4BC : DB 02 LOA24: IN A, PIOBD |
1287/ F4C3 : 47 LD B,A | 1287/ F4BE : A8 XOR B |
1288/ F4C4 : F1 POP AF ;Z=0 --> Flanke | 1288/ F4BF : CB 77 BIT 6,A ;Bit6->TB in |
1289/ F4C5 : C9 RET | 1289/ F4C1 : F5 PUSH AF |
1290/ F4C6 : ;Warten auf Flankenwechsel | 1290/ F4C2 : A8 XOR B |
1291/ F4C6 : DB 02 LOA25: IN A, PIOBD | 1291/ F4C3 : 47 LD B,A |
1292/ F4C8 : A8 XOR B | 1292/ F4C4 : F1 POP AF ;Z=0 --> Flanke |
1293/ F4C9 : CB 77 BIT 6,A ;Bit6->TB in | 1293/ F4C5 : C9 RET |
1294/ F4CB : 28 F9 JR Z, LOA25 | 1294/ F4C6 : ;Warten auf Flankenwechsel |
1295/ F4CD : C9 RET | 1295/ F4C6 : DB 02 LOA25: IN A, PIOBD |
1296/ F4CE : ; | 1296/ F4C8 : A8 XOR B |
1297/ F4CE : ;------------------------------------------------------------------------------- | 1297/ F4C9 : CB 77 BIT 6,A ;Bit6->TB in |
1298/ F4CE : ;Speicherinhalt mit Checksumme anzeigen | 1298/ F4CB : 28 F9 JR Z, LOA25 |
1299/ F4CE : ;------------------------------------------------------------------------------- | 1299/ F4CD : C9 RET |
1300/ F4CE : ; | 1300/ F4CE : ; |
1301/ F4CE : 2A 1B 00 D_KDO: LD HL,(ARG1) | 1301/ F4CE : ;------------------------------------------------------------------------------- |
1302/ F4D1 : ED 5B 1D 00 DKO1: LD DE,(ARG2) | 1302/ F4CE : ;Speicherinhalt mit Checksumme anzeigen |
1303/ F4D5 : 37 SCF | 1303/ F4CE : ;------------------------------------------------------------------------------- |
1304/ F4D6 : E5 PUSH HL | 1304/ F4CE : ; |
1305/ F4D7 : ED 52 SBC HL,DE | 1305/ F4CE : 2A 1B 00 D_KDO: LD HL,(ARG1) |
1306/ F4D9 : E1 POP HL | 1306/ F4D1 : ED 5B 1D 00 DKO1: LD DE,(ARG2) |
1307/ F4DA : D0 RET NC ;wenn EADR<AADR | 1307/ F4D5 : 37 SCF |
1308/ F4DB : (MACRO) ROTHL | 1308/ F4D6 : E5 PUSH HL |
1308/ F4DB : E7 RST 20H | 1309/ F4D7 : ED 52 SBC HL,DE |
1308/ F4DC : 07 DB 07h ; OUTHL | 1310/ F4D9 : E1 POP HL |
1309/ F4DD : 01 00 08 LD BC,0800H ;B=8 | 1311/ F4DA : D0 RET NC ;wenn EADR<AADR |
1310/ F4E0 : 1E 00 LD E,0 ;EC=0 - Checksumme | 1312/ F4DB : (MACRO) ROTHL |
1311/ F4E2 : (MACRO) DKO2: RPRST | 1312/ F4DB : E7 RST 20H |
1311/ F4E2 : E7 RST 20H | 1312/ F4DC : 07 DB 07h ; OUTHL |
1311/ F4E3 : 02 DB 02h ; PRST | 1313/ F4DD : 01 00 08 LD BC,0800H ;B=8 |
1312/ F4E4 : A0 DB ' '+80H | 1314/ F4E0 : 1E 00 LD E,0 ;EC=0 - Checksumme |
1313/ F4E5 : 7E LD A,(HL) | 1315/ F4E2 : (MACRO) DKO2: RPRST |
1314/ F4E6 : (MACRO) ROTHX | 1315/ F4E2 : E7 RST 20H |
1314/ F4E6 : E7 RST 20H | 1315/ F4E3 : 02 DB 02h ; PRST |
1314/ F4E7 : 06 DB 06h ; OUTHX | 1316/ F4E4 : A0 DB ' '+80H |
1315/ F4E8 : 81 ADD A, C ;Checksumme bilden | 1317/ F4E5 : 7E LD A,(HL) |
1316/ F4E9 : 4F LD C,A | 1318/ F4E6 : (MACRO) ROTHX |
1317/ F4EA : 30 04 JR NC, DKO3 | 1318/ F4E6 : E7 RST 20H |
1318/ F4EC : 3E 00 LD A,0 | 1318/ F4E7 : 06 DB 06h ; OUTHX |
1319/ F4EE : 8B ADC A, E | 1319/ F4E8 : 81 ADD A, C ;Checksumme bilden |
1320/ F4EF : 5F LD E,A | 1320/ F4E9 : 4F LD C,A |
1321/ F4F0 : 23 DKO3: INC HL | 1321/ F4EA : 30 04 JR NC, DKO3 |
1322/ F4F1 : 10 EF DJNZ DKO2 | 1322/ F4EC : 3E 00 LD A,0 |
1323/ F4F3 : (MACRO) RPRST | 1323/ F4EE : 8B ADC A, E |
1323/ F4F3 : E7 RST 20H | 1324/ F4EF : 5F LD E,A |
1323/ F4F4 : 02 DB 02h ; PRST | 1325/ F4F0 : 23 DKO3: INC HL |
1324/ F4F5 : A0 DB ' '+80H | 1326/ F4F1 : 10 EF DJNZ DKO2 |
1325/ F4F6 : 7B LD A,E | 1327/ F4F3 : (MACRO) RPRST |
1326/ F4F7 : CD 0A F3 CALL OUX1 ;Checksumme ausgeben | 1327/ F4F3 : E7 RST 20H |
1327/ F4FA : 79 LD A,C | 1327/ F4F4 : 02 DB 02h ; PRST |
1328/ F4FB : (MACRO) ROTHX | 1328/ F4F5 : A0 DB ' '+80H |
1328/ F4FB : E7 RST 20H | 1329/ F4F6 : 7B LD A,E |
1328/ F4FC : 06 DB 06h ; OUTHX | 1330/ F4F7 : CD 0A F3 CALL OUX1 ;Checksumme ausgeben |
1329/ F4FD : 18 D2 JR DKO1 | 1331/ F4FA : 79 LD A,C |
1330/ F4FF : ; | 1332/ F4FB : (MACRO) ROTHX |
1331/ F4FF : ;------------------------------------------------------------------------------- | 1332/ F4FB : E7 RST 20H |
1332/ F4FF : ;Argumente uebergeben | 1332/ F4FC : 06 DB 06h ; OUTHX |
1333/ F4FF : ;------------------------------------------------------------------------------- | 1333/ F4FD : 18 D2 JR DKO1 |
1334/ F4FF : ; | 1334/ F4FF : ; |
1335/ F4FF : 2A 1B 00 PARA: LD HL,(ARG1) | 1335/ F4FF : ;------------------------------------------------------------------------------- |
1336/ F502 : ED 5B 1D 00 LD DE,(ARG2) | 1336/ F4FF : ;Argumente uebergeben |
1337/ F506 : ED 4B 23 00 LD BC,(ARG3) | 1337/ F4FF : ;------------------------------------------------------------------------------- |
1338/ F50A : C9 RET | 1338/ F4FF : ; |
1339/ F50B : ; | 1339/ F4FF : 2A 1B 00 PARA: LD HL,(ARG1) |
1340/ F50B : ;------------------------------------------------------------------------------- | 1340/ F502 : ED 5B 1D 00 LD DE,(ARG2) |
1341/ F50B : ;Speicherbereich mit Byte beschreiben | 1341/ F506 : ED 4B 23 00 LD BC,(ARG3) |
1342/ F50B : ;------------------------------------------------------------------------------- | 1342/ F50A : C9 RET |
1343/ F50B : ; | 1343/ F50B : ; |
1344/ F50B : CD FF F4 K_KDO: CALL PARA | 1344/ F50B : ;------------------------------------------------------------------------------- |
1345/ F50E : 71 LD (HL),C ;C=Fuellbyte | 1345/ F50B : ;Speicherbereich mit Byte beschreiben |
1346/ F50F : E5 PUSH HL | 1346/ F50B : ;------------------------------------------------------------------------------- |
1347/ F510 : AF XOR A | 1347/ F50B : ; |
1348/ F511 : EB EX DE,HL | 1348/ F50B : CD FF F4 K_KDO: CALL PARA |
1349/ F512 : ED 52 SBC HL,DE | 1349/ F50E : 71 LD (HL),C ;C=Fuellbyte |
1350/ F514 : 44 LD B,H | 1350/ F50F : E5 PUSH HL |
1351/ F515 : 4D LD C,L ;BC=Laenge | 1351/ F510 : AF XOR A |
1352/ F516 : E1 POP HL | 1352/ F511 : EB EX DE,HL |
1353/ F517 : 54 LD D,H | 1353/ F512 : ED 52 SBC HL,DE |
1354/ F518 : 5D LD E,L | 1354/ F514 : 44 LD B,H |
1355/ F519 : 13 INC DE | 1355/ F515 : 4D LD C,L ;BC=Laenge |
1356/ F51A : ED B0 LDIR | 1356/ F516 : E1 POP HL |
1357/ F51C : C9 RET | 1357/ F517 : 54 LD D,H |
1358/ F51D : ; | 1358/ F518 : 5D LD E,L |
1359/ F51D : ;------------------------------------------------------------------------------- | 1359/ F519 : 13 INC DE |
1360/ F51D : ;Speicherbereich verschieben | 1360/ F51A : ED B0 LDIR |
1361/ F51D : ;------------------------------------------------------------------------------- | 1361/ F51C : C9 RET |
1362/ F51D : ; | 1362/ F51D : ; |
1363/ F51D : CD FF F4 T_KDO: CALL PARA | 1363/ F51D : ;------------------------------------------------------------------------------- |
1364/ F520 : AF XOR A | 1364/ F51D : ;Speicherbereich verschieben |
1365/ F521 : E5 PUSH HL | 1365/ F51D : ;------------------------------------------------------------------------------- |
1366/ F522 : ED 52 SBC HL,DE | 1366/ F51D : ; |
1367/ F524 : E1 POP HL | 1367/ F51D : CD FF F4 T_KDO: CALL PARA |
1368/ F525 : 38 03 JR C, TKO1 ;wenn Zieladr. groesser | 1368/ F520 : AF XOR A |
1369/ F527 : ED B0 LDIR ;Vorwaertstransfer | 1369/ F521 : E5 PUSH HL |
1370/ F529 : C9 RET | 1370/ F522 : ED 52 SBC HL,DE |
1371/ F52A : 09 TKO1: ADD HL,BC | 1371/ F524 : E1 POP HL |
1372/ F52B : EB EX DE,HL | 1372/ F525 : 38 03 JR C, TKO1 ;wenn Zieladr. groesser |
1373/ F52C : 09 ADD HL,BC | 1373/ F527 : ED B0 LDIR ;Vorwaertstransfer |
1374/ F52D : EB EX DE,HL | 1374/ F529 : C9 RET |
1375/ F52E : 2B DEC HL | 1375/ F52A : 09 TKO1: ADD HL,BC |
1376/ F52F : 1B DEC DE | 1376/ F52B : EB EX DE,HL |
1377/ F530 : ED B8 LDDR ;Rueckwaertstransfer | 1377/ F52C : 09 ADD HL,BC |
1378/ F532 : C9 RET | 1378/ F52D : EB EX DE,HL |
1379/ F533 : ; | 1379/ F52E : 2B DEC HL |
1380/ F533 : ;------------------------------------------------------------------------------- | 1380/ F52F : 1B DEC DE |
1381/ F533 : ;Debugging-Funktionen | 1381/ F530 : ED B8 LDDR ;Rueckwaertstransfer |
1382/ F533 : ;------------------------------------------------------------------------------- | 1382/ F532 : C9 RET |
1383/ F533 : ; | 1383/ F533 : ; |
1384/ F533 : ;Register im Registerrettebereich ablegen | 1384/ F533 : ;------------------------------------------------------------------------------- |
1385/ F533 : ; | 1385/ F533 : ;Debugging-Funktionen |
1386/ F533 : ED 73 13 00 REGA: LD (DATA),SP | 1386/ F533 : ;------------------------------------------------------------------------------- |
1387/ F537 : 31 61 00 LD SP,REGPC | 1387/ F533 : ; |
1388/ F53A : DD E5 PUSH IX | 1388/ F533 : ;Register im Registerrettebereich ablegen |
1389/ F53C : FD E5 PUSH IY | 1389/ F533 : ; |
1390/ F53E : F5 PUSH AF | 1390/ F533 : ED 73 13 00 REGA: LD (DATA),SP |
1391/ F53F : C5 PUSH BC | 1391/ F537 : 31 61 00 LD SP,REGPC |
1392/ F540 : D5 PUSH DE | 1392/ F53A : DD E5 PUSH IX |
1393/ F541 : E5 PUSH HL | 1393/ F53C : FD E5 PUSH IY |
1394/ F542 : D9 EXX | 1394/ F53E : F5 PUSH AF |
1395/ F543 : 08 EX AF, AF' | 1395/ F53F : C5 PUSH BC |
1396/ F544 : F5 PUSH AF | 1396/ F540 : D5 PUSH DE |
1397/ F545 : C5 PUSH BC | 1397/ F541 : E5 PUSH HL |
1398/ F546 : D5 PUSH DE | 1398/ F542 : D9 EXX |
1399/ F547 : E5 PUSH HL | 1399/ F543 : 08 EX AF, AF' |
1400/ F548 : 18 15 JR REG1 | 1400/ F544 : F5 PUSH AF |
1401/ F54A : ;Register aus Registerrettebereich holen | 1401/ F545 : C5 PUSH BC |
1402/ F54A : ED 73 13 00 REGH: LD (DATA),SP | 1402/ F546 : D5 PUSH DE |
1403/ F54E : 31 4D 00 LD SP,REGBR | 1403/ F547 : E5 PUSH HL |
1404/ F551 : E1 POP HL | 1404/ F548 : 18 15 JR REG1 |
1405/ F552 : D1 POP DE | 1405/ F54A : ;Register aus Registerrettebereich holen |
1406/ F553 : C1 POP BC | 1406/ F54A : ED 73 13 00 REGH: LD (DATA),SP |
1407/ F554 : F1 POP AF | 1407/ F54E : 31 4D 00 LD SP,REGBR |
1408/ F555 : D9 EXX | 1408/ F551 : E1 POP HL |
1409/ F556 : 08 EX AF, AF' | 1409/ F552 : D1 POP DE |
1410/ F557 : E1 POP HL | 1410/ F553 : C1 POP BC |
1411/ F558 : D1 POP DE | 1411/ F554 : F1 POP AF |
1412/ F559 : C1 POP BC | 1412/ F555 : D9 EXX |
1413/ F55A : F1 POP AF | 1413/ F556 : 08 EX AF, AF' |
1414/ F55B : FD E1 POP IY | 1414/ F557 : E1 POP HL |
1415/ F55D : DD E1 POP IX | 1415/ F558 : D1 POP DE |
1416/ F55F : ED 7B 13 00 REG1: LD SP,(DATA) | 1416/ F559 : C1 POP BC |
1417/ F563 : C9 RET | 1417/ F55A : F1 POP AF |
1418/ F564 : ; | 1418/ F55B : FD E1 POP IY |
1419/ F564 : ;Einsprung bei Breakpoint | 1419/ F55D : DD E1 POP IX |
1420/ F564 : ; | 1420/ F55F : ED 7B 13 00 REG1: LD SP,(DATA) |
1421/ F564 : CD 33 F5 BREAK: CALL REGA ;Register ablegen | 1421/ F563 : C9 RET |
1422/ F567 : E1 POP HL ;HL=Breakadr.+3 | 1422/ F564 : ; |
1423/ F568 : ED 73 63 00 LD (REGSP),SP ;SP sichern | 1423/ F564 : ;Einsprung bei Breakpoint |
1424/ F56C : 31 B0 00 LD SP,SYSSK ;Systemstack nutzen | 1424/ F564 : ; |
1425/ F56F : 2B DEC HL | 1425/ F564 : CD 33 F5 BREAK: CALL REGA ;Register ablegen |
1426/ F570 : 2B DEC HL | 1426/ F567 : E1 POP HL ;HL=Breakadr.+3 |
1427/ F571 : 2B DEC HL | 1427/ F568 : ED 73 63 00 LD (REGSP),SP ;SP sichern |
1428/ F572 : 22 61 00 LD (REGPC),HL ;Breakadresse | 1428/ F56C : 31 B0 00 LD SP,SYSSK ;Systemstack nutzen |
1429/ F575 : ED 5B 0B 00 LD DE,(BPADR) ;die originalen 3 Byte | 1429/ F56F : 2B DEC HL |
1430/ F579 : 21 0D 00 LD HL,BPOPC ;Operanden zurueckbringen | 1430/ F570 : 2B DEC HL |
1431/ F57C : 01 03 00 LD BC,3 | 1431/ F571 : 2B DEC HL |
1432/ F57F : ED B0 LDIR | 1432/ F572 : 22 61 00 LD (REGPC),HL ;Breakadresse |
1433/ F581 : CD E4 F5 CALL REGDA | 1433/ F575 : ED 5B 0B 00 LD DE,(BPADR) ;die originalen 3 Byte |
1434/ F584 : C3 5F F0 JP KDO2 | 1434/ F579 : 21 0D 00 LD HL,BPOPC ;Operanden zurueckbringen |
1435/ F587 : ; | 1435/ F57C : 01 03 00 LD BC,3 |
1436/ F587 : ;------------------------------------------------------------------------------- | 1436/ F57F : ED B0 LDIR |
1437/ F587 : ;Breakpoint-Adresse setzen | 1437/ F581 : CD E4 F5 CALL REGDA |
1438/ F587 : ;------------------------------------------------------------------------------- | 1438/ F584 : C3 5F F0 JP KDO2 |
1439/ F587 : ; | 1439/ F587 : ; |
1440/ F587 : 2A 1B 00 B_KDO: LD HL,(ARG1) | 1440/ F587 : ;------------------------------------------------------------------------------- |
1441/ F58A : 22 0B 00 LD (BPADR),HL | 1441/ F587 : ;Breakpoint-Adresse setzen |
1442/ F58D : 11 0D 00 LD DE,BPOPC ;3 Byte Operanden | 1442/ F587 : ;------------------------------------------------------------------------------- |
1443/ F590 : 01 03 00 LD BC,3 ;retten | 1443/ F587 : ; |
1444/ F593 : ED B0 LDIR | 1444/ F587 : 2A 1B 00 B_KDO: LD HL,(ARG1) |
1445/ F595 : CD E4 F5 CALL REGDA ;Register anzeigen | 1445/ F58A : 22 0B 00 LD (BPADR),HL |
1446/ F598 : C9 RET | 1446/ F58D : 11 0D 00 LD DE,BPOPC ;3 Byte Operanden |
1447/ F599 : ; | 1447/ F590 : 01 03 00 LD BC,3 ;retten |
1448/ F599 : ;------------------------------------------------------------------------------- | 1448/ F593 : ED B0 LDIR |
1449/ F599 : ;Programm starten mit Breakpoint | 1449/ F595 : CD E4 F5 CALL REGDA ;Register anzeigen |
1450/ F599 : ;------------------------------------------------------------------------------- | 1450/ F598 : C9 RET |
1451/ F599 : ; | 1451/ F599 : ; |
1452/ F599 : 2A 0B 00 E_KDO: LD HL,(BPADR) | 1452/ F599 : ;------------------------------------------------------------------------------- |
1453/ F59C : 36 CD LD (HL),0CDH ;CALL ... | 1453/ F599 : ;Programm starten mit Breakpoint |
1454/ F59E : 23 INC HL | 1454/ F599 : ;------------------------------------------------------------------------------- |
1455/ F59F : 11 64 F5 LD DE,BREAK ;an Breakpoint Unter- | 1455/ F599 : ; |
1456/ F5A2 : 73 LD (HL),E ;Brechung zu BREAK eintragen | 1456/ F599 : 2A 0B 00 E_KDO: LD HL,(BPADR) |
1457/ F5A3 : 23 INC HL | 1457/ F59C : 36 CD LD (HL),0CDH ;CALL ... |
1458/ F5A4 : 72 LD (HL),D | 1458/ F59E : 23 INC HL |
1459/ F5A5 : ; | 1459/ F59F : 11 64 F5 LD DE,BREAK ;an Breakpoint Unter- |
1460/ F5A5 : ;------------------------------------------------------------------------------- | 1460/ F5A2 : 73 LD (HL),E ;Brechung zu BREAK eintragen |
1461/ F5A5 : ;Programm starten | 1461/ F5A3 : 23 INC HL |
1462/ F5A5 : ;------------------------------------------------------------------------------- | 1462/ F5A4 : 72 LD (HL),D |
1463/ F5A5 : ; | 1463/ F5A5 : ; |
1464/ F5A5 : 2A 1B 00 J_KDO: LD HL,(ARG1) ;Startadresse | 1464/ F5A5 : ;------------------------------------------------------------------------------- |
1465/ F5A8 : 22 61 00 LD (REGPC),HL ;zwischenspeichern | 1465/ F5A5 : ;Programm starten |
1466/ F5AB : ED 7B 63 00 LD SP,(REGSP) ;Stack generieren | 1466/ F5A5 : ;------------------------------------------------------------------------------- |
1467/ F5AF : E5 PUSH HL ;Startadresse in Stack | 1467/ F5A5 : ; |
1468/ F5B0 : C3 4A F5 JP REGH ;Register holen | 1468/ F5A5 : 2A 1B 00 J_KDO: LD HL,(ARG1) ;Startadresse |
1469/ F5B3 : ;und Pgm. durch RET starten | 1469/ F5A8 : 22 61 00 LD (REGPC),HL ;zwischenspeichern |
1470/ F5B3 : ; | 1470/ F5AB : ED 7B 63 00 LD SP,(REGSP) ;Stack generieren |
1471/ F5B3 : ;------------------------------------------------------------------------------- | 1471/ F5AF : E5 PUSH HL ;Startadresse in Stack |
1472/ F5B3 : ;Programm nach Break fortsetzen | 1472/ F5B0 : C3 4A F5 JP REGH ;Register holen |
1473/ F5B3 : ;------------------------------------------------------------------------------- | 1473/ F5B3 : ;und Pgm. durch RET starten |
1474/ F5B3 : ; | 1474/ F5B3 : ; |
1475/ F5B3 : 2A 61 00 G_KDO: LD HL,(REGPC) | 1475/ F5B3 : ;------------------------------------------------------------------------------- |
1476/ F5B6 : 22 1B 00 LD (ARG1),HL | 1476/ F5B3 : ;Programm nach Break fortsetzen |
1477/ F5B9 : ED 5B 0B 00 LD DE,(BPADR) | 1477/ F5B3 : ;------------------------------------------------------------------------------- |
1478/ F5BD : AF XOR A ;Cy=0 | 1478/ F5B3 : ; |
1479/ F5BE : ED 52 SBC HL,DE | 1479/ F5B3 : 2A 61 00 G_KDO: LD HL,(REGPC) |
1480/ F5C0 : 20 D7 JR NZ, E_KDO ;wenn nicht Breakpoint | 1480/ F5B6 : 22 1B 00 LD (ARG1),HL |
1481/ F5C2 : 18 E1 JR J_KDO ;starten | 1481/ F5B9 : ED 5B 0B 00 LD DE,(BPADR) |
1482/ F5C4 : ; | 1482/ F5BD : AF XOR A ;Cy=0 |
1483/ F5C4 : ;------------------------------------------------------------------------------- | 1483/ F5BE : ED 52 SBC HL,DE |
1484/ F5C4 : ;Ausgabe eines Doppelpunktes und (HL) und Leerzeichen | 1484/ F5C0 : 20 D7 JR NZ, E_KDO ;wenn nicht Breakpoint |
1485/ F5C4 : ;------------------------------------------------------------------------------- | 1485/ F5C2 : 18 E1 JR J_KDO ;starten |
1486/ F5C4 : ; | 1486/ F5C4 : ; |
1487/ F5C4 : (MACRO) OUTDP: RPRST | 1487/ F5C4 : ;------------------------------------------------------------------------------- |
1487/ F5C4 : E7 RST 20H | 1488/ F5C4 : ;Ausgabe eines Doppelpunktes und (HL) und Leerzeichen |
1487/ F5C5 : 02 DB 02h ; PRST | 1489/ F5C4 : ;------------------------------------------------------------------------------- |
1488/ F5C6 : BA DB ':'+80H | 1490/ F5C4 : ; |
1489/ F5C7 : ; | 1491/ F5C4 : (MACRO) OUTDP: RPRST |
1490/ F5C7 : ;------------------------------------------------------------------------------- | 1491/ F5C4 : E7 RST 20H |
1491/ F5C7 : ;Ausgabe hex 2 Byte Speicher (HL) und (HL-1) | 1491/ F5C5 : 02 DB 02h ; PRST |
1492/ F5C7 : ;und ein Leerzeichen | 1492/ F5C6 : BA DB ':'+80H |
1493/ F5C7 : ;------------------------------------------------------------------------------- | 1493/ F5C7 : ; |
1494/ F5C7 : ; | 1494/ F5C7 : ;------------------------------------------------------------------------------- |
1495/ F5C7 : 7E OTHLS: LD A,(HL) ;hoeherwertiges Byte | 1495/ F5C7 : ;Ausgabe hex 2 Byte Speicher (HL) und (HL-1) |
1496/ F5C8 : (MACRO) ROTHX ;ausgeben | 1496/ F5C7 : ;und ein Leerzeichen |
1496/ F5C8 : E7 RST 20H | 1497/ F5C7 : ;------------------------------------------------------------------------------- |
1496/ F5C9 : 06 DB 06h ; OUTHX | 1498/ F5C7 : ; |
1497/ F5CA : 2B DEC HL | 1499/ F5C7 : 7E OTHLS: LD A,(HL) ;hoeherwertiges Byte |
1498/ F5CB : 7E LD A,(HL) ;niederwertiges Byte | 1500/ F5C8 : (MACRO) ROTHX ;ausgeben |
1499/ F5CC : (MACRO) ROTHX ;ausgeben | 1500/ F5C8 : E7 RST 20H |
1499/ F5CC : E7 RST 20H | 1500/ F5C9 : 06 DB 06h ; OUTHX |
1499/ F5CD : 06 DB 06h ; OUTHX | 1501/ F5CA : 2B DEC HL |
1500/ F5CE : 2B DEC HL ;naechsten Aufruf vorbereiten | 1502/ F5CB : 7E LD A,(HL) ;niederwertiges Byte |
1501/ F5CF : ; | 1503/ F5CC : (MACRO) ROTHX ;ausgeben |
1502/ F5CF : ;------------------------------------------------------------------------------- | 1503/ F5CC : E7 RST 20H |
1503/ F5CF : ;Ausgabe ein Leerzeichen | 1503/ F5CD : 06 DB 06h ; OUTHX |
1504/ F5CF : ;------------------------------------------------------------------------------- | 1504/ F5CE : 2B DEC HL ;naechsten Aufruf vorbereiten |
1505/ F5CF : ; | 1505/ F5CF : ; |
1506/ F5CF : (MACRO) OUTSP: RPRST | 1506/ F5CF : ;------------------------------------------------------------------------------- |
1506/ F5CF : E7 RST 20H | 1507/ F5CF : ;Ausgabe ein Leerzeichen |
1506/ F5D0 : 02 DB 02h ; PRST | 1508/ F5CF : ;------------------------------------------------------------------------------- |
1507/ F5D1 : A0 DB ' '+80H | 1509/ F5CF : ; |
1508/ F5D2 : C9 RET | 1510/ F5CF : (MACRO) OUTSP: RPRST |
1509/ F5D3 : ; | 1510/ F5CF : E7 RST 20H |
1510/ F5D3 : ;------------------------------------------------------------------------------- | 1510/ F5D0 : 02 DB 02h ; PRST |
1511/ F5D3 : ;Registermodifizerung und -anzeige | 1511/ F5D1 : A0 DB ' '+80H |
1512/ F5D3 : ;------------------------------------------------------------------------------- | 1512/ F5D2 : C9 RET |
1513/ F5D3 : ; | 1513/ F5D3 : ; |
1514/ F5D3 : ;Z-Flag-Anzeige | 1514/ F5D3 : ;------------------------------------------------------------------------------- |
1515/ F5D3 : ; | 1515/ F5D3 : ;Registermodifizerung und -anzeige |
1516/ F5D3 : (MACRO) AUS1: RPRST ;Ausg. "1 " | 1516/ F5D3 : ;------------------------------------------------------------------------------- |
1516/ F5D3 : E7 RST 20H | 1517/ F5D3 : ; |
1516/ F5D4 : 02 DB 02h ; PRST | 1518/ F5D3 : ;Z-Flag-Anzeige |
1517/ F5D5 : 31 DB "1" | 1519/ F5D3 : ; |
1518/ F5D6 : A0 DB ' '+80H | 1520/ F5D3 : (MACRO) AUS1: RPRST ;Ausg. "1 " |
1519/ F5D7 : C9 RET | 1520/ F5D3 : E7 RST 20H |
1520/ F5D8 : 20 F9 AUSX: JR NZ, AUS1 | 1520/ F5D4 : 02 DB 02h ; PRST |
1521/ F5DA : (MACRO) RPRST ;Ausg. "0 " | 1521/ F5D5 : 31 DB "1" |
1521/ F5DA : E7 RST 20H | 1522/ F5D6 : A0 DB ' '+80H |
1521/ F5DB : 02 DB 02h ; PRST | 1523/ F5D7 : C9 RET |
1522/ F5DC : 30 DB "0" | 1524/ F5D8 : 20 F9 AUSX: JR NZ, AUS1 |
1523/ F5DD : A0 DB ' '+80H | 1525/ F5DA : (MACRO) RPRST ;Ausg. "0 " |
1524/ F5DE : C9 RET | 1525/ F5DA : E7 RST 20H |
1525/ F5DF : ; | 1525/ F5DB : 02 DB 02h ; PRST |
1526/ F5DF : ; R-Kommando | 1526/ F5DC : 30 DB "0" |
1527/ F5DF : ; | 1527/ F5DD : A0 DB ' '+80H |
1528/ F5DF : FE 3A R_KDO: CP A, ':' | 1528/ F5DE : C9 RET |
1529/ F5E1 : C2 5A F6 JP NZ, RKO3 ;wenn Modifizierung | 1529/ F5DF : ; |
1530/ F5E4 : ; | 1530/ F5DF : ; R-Kommando |
1531/ F5E4 : (MACRO) REGDA: RPRST ;Anzeige Breakpointadresse | 1531/ F5DF : ; |
1531/ F5E4 : E7 RST 20H | 1532/ F5DF : FE 3A R_KDO: CP A, ':' |
1531/ F5E5 : 02 DB 02h ; PRST | 1533/ F5E1 : C2 5A F6 JP NZ, RKO3 ;wenn Modifizierung |
1532/ F5E6 : 0D DB CR | 1534/ F5E4 : ; |
1533/ F5E7 : 42 DB "B" ;"BP" | 1535/ F5E4 : (MACRO) REGDA: RPRST ;Anzeige Breakpointadresse |
1534/ F5E8 : D0 DB 'P'+80H | 1535/ F5E4 : E7 RST 20H |
1535/ F5E9 : 21 0C 00 LD HL,BPADR+1 | 1535/ F5E5 : 02 DB 02h ; PRST |
1536/ F5EC : (MACRO) ROTDP | 1536/ F5E6 : 0D DB CR |
1536/ F5EC : E7 RST 20H | 1537/ F5E7 : 42 DB "B" ;"BP" |
1536/ F5ED : 0D DB 0Dh ; OUTDP | 1538/ F5E8 : D0 DB 'P'+80H |
1537/ F5EE : (MACRO) RPRST ;Ausgabe Operandenfolge | 1539/ F5E9 : 21 0C 00 LD HL,BPADR+1 |
1537/ F5EE : E7 RST 20H | 1540/ F5EC : (MACRO) ROTDP |
1537/ F5EF : 02 DB 02h ; PRST | 1540/ F5EC : E7 RST 20H |
1538/ F5F0 : 42 53 DB "BS" ;am Breakpoint | 1540/ F5ED : 0D DB 0Dh ; OUTDP |
1539/ F5F2 : BA DB ':'+80H | 1541/ F5EE : (MACRO) RPRST ;Ausgabe Operandenfolge |
1540/ F5F3 : 06 03 LD B,3 ;3 Byte | 1541/ F5EE : E7 RST 20H |
1541/ F5F5 : 21 0D 00 LD HL,BPOPC | 1541/ F5EF : 02 DB 02h ; PRST |
1542/ F5F8 : 7E RKO1: LD A,(HL) | 1542/ F5F0 : 42 53 DB "BS" ;am Breakpoint |
1543/ F5F9 : (MACRO) ROTHX | 1543/ F5F2 : BA DB ':'+80H |
1543/ F5F9 : E7 RST 20H | 1544/ F5F3 : 06 03 LD B,3 ;3 Byte |
1543/ F5FA : 06 DB 06h ; OUTHX | 1545/ F5F5 : 21 0D 00 LD HL,BPOPC |
1544/ F5FB : 23 INC HL | 1546/ F5F8 : 7E RKO1: LD A,(HL) |
1545/ F5FC : 10 FA DJNZ RKO1 | 1547/ F5F9 : (MACRO) ROTHX |
1546/ F5FE : ; | 1547/ F5F9 : E7 RST 20H |
1547/ F5FE : (MACRO) RPRST ;Flaganzeige | 1547/ F5FA : 06 DB 06h ; OUTHX |
1547/ F5FE : E7 RST 20H | 1548/ F5FB : 23 INC HL |
1547/ F5FF : 02 DB 02h ; PRST | 1549/ F5FC : 10 FA DJNZ RKO1 |
1548/ F600 : 20 20 20 53 20 5A DB " S Z C" | 1550/ F5FE : ; |
| 1551/ F5FE : (MACRO) RPRST ;Flaganzeige |
| 1551/ F5FE : E7 RST 20H |
| 1551/ F5FF : 02 DB 02h ; PRST |
| 1552/ F600 : 20 20 20 53 20 5A DB " S Z C" |
20 43 | 20 43 |
1549/ F608 : A0 DB ' '+80H | 1553/ F608 : A0 DB ' '+80H |
1550/ F609 : 3A 5B 00 LD A,(REGAF) ;A-Flagregister | 1554/ F609 : 3A 5B 00 LD A,(REGAF) ;A-Flagregister |
1551/ F60C : 6F LD L,A | 1555/ F60C : 6F LD L,A |
1552/ F60D : CB 7D BIT 7,L ;S-Flag | 1556/ F60D : CB 7D BIT 7,L ;S-Flag |
1553/ F60F : CD D8 F5 CALL AUSX | 1557/ F60F : CD D8 F5 CALL AUSX |
1554/ F612 : CB 75 BIT 6,L ;Z-Flag | 1558/ F612 : CB 75 BIT 6,L ;Z-Flag |
1555/ F614 : CD D8 F5 CALL AUSX | 1559/ F614 : CD D8 F5 CALL AUSX |
1556/ F617 : CB 45 BIT 0,L ;Cy-Flag | 1560/ F617 : CB 45 BIT 0,L ;Cy-Flag |
1557/ F619 : CD D8 F5 CALL AUSX | 1561/ F619 : CD D8 F5 CALL AUSX |
1558/ F61C : ; | 1562/ F61C : ; |
1559/ F61C : 21 64 00 LD HL,REGSP+1 ;Sonderregister-anzeige | 1563/ F61C : 21 64 00 LD HL,REGSP+1 ;Sonderregister-anzeige |
1560/ F61F : 06 02 LD B,2 ;2 Registersaetze | 1564/ F61F : 06 02 LD B,2 ;2 Registersaetze |
1561/ F621 : (MACRO) RPRST | 1565/ F621 : (MACRO) RPRST |
1561/ F621 : E7 RST 20H | 1565/ F621 : E7 RST 20H |
1561/ F622 : 02 DB 02h ; PRST | 1565/ F622 : 02 DB 02h ; PRST |
1562/ F623 : 53 RKO2: DB "S" | 1566/ F623 : 53 RKO2: DB "S" |
1563/ F624 : D0 DB 'P'+80H | 1567/ F624 : D0 DB 'P'+80H |
1564/ F625 : (MACRO) ROTDP | 1568/ F625 : (MACRO) ROTDP |
1564/ F625 : E7 RST 20H | 1568/ F625 : E7 RST 20H |
1564/ F626 : 0D DB 0Dh ; OUTDP | 1568/ F626 : 0D DB 0Dh ; OUTDP |
1565/ F627 : (MACRO) RPRST | 1569/ F627 : (MACRO) RPRST |
1565/ F627 : E7 RST 20H | 1569/ F627 : E7 RST 20H |
1565/ F628 : 02 DB 02h ; PRST | 1569/ F628 : 02 DB 02h ; PRST |
1566/ F629 : 50 DB "P" | 1570/ F629 : 50 DB "P" |
1567/ F62A : C3 DB 'C'+80H | 1571/ F62A : C3 DB 'C'+80H |
1568/ F62B : (MACRO) ROTDP | 1572/ F62B : (MACRO) ROTDP |
1568/ F62B : E7 RST 20H | 1572/ F62B : E7 RST 20H |
1568/ F62C : 0D DB 0Dh ; OUTDP | 1572/ F62C : 0D DB 0Dh ; OUTDP |
1569/ F62D : (MACRO) RPRST | 1573/ F62D : (MACRO) RPRST |
1569/ F62D : E7 RST 20H | 1573/ F62D : E7 RST 20H |
1569/ F62E : 02 DB 02h ; PRST | 1573/ F62E : 02 DB 02h ; PRST |
1570/ F62F : 49 DB "I" | 1574/ F62F : 49 DB "I" |
1571/ F630 : D8 DB 'X'+80H | 1575/ F630 : D8 DB 'X'+80H |
1572/ F631 : (MACRO) ROTDP | 1576/ F631 : (MACRO) ROTDP |
1572/ F631 : E7 RST 20H | 1576/ F631 : E7 RST 20H |
1572/ F632 : 0D DB 0Dh ; OUTDP | 1576/ F632 : 0D DB 0Dh ; OUTDP |
1573/ F633 : (MACRO) RPRST | 1577/ F633 : (MACRO) RPRST |
1573/ F633 : E7 RST 20H | 1577/ F633 : E7 RST 20H |
1573/ F634 : 02 DB 02h ; PRST | 1577/ F634 : 02 DB 02h ; PRST |
1574/ F635 : 49 DB "I" | 1578/ F635 : 49 DB "I" |
1575/ F636 : D9 DB 'Y'+80H | 1579/ F636 : D9 DB 'Y'+80H |
1576/ F637 : (MACRO) ROTDP | 1580/ F637 : (MACRO) ROTDP |
1576/ F637 : E7 RST 20H | 1580/ F637 : E7 RST 20H |
1576/ F638 : 0D DB 0Dh ; OUTDP | 1580/ F638 : 0D DB 0Dh ; OUTDP |
1577/ F639 : ; | 1581/ F639 : ; |
1578/ F639 : (MACRO) RKO4: RPRST ;Registersatz anzeigen | 1582/ F639 : (MACRO) RKO4: RPRST ;Registersatz anzeigen |
1578/ F639 : E7 RST 20H | 1582/ F639 : E7 RST 20H |
1578/ F63A : 02 DB 02h ; PRST | 1582/ F63A : 02 DB 02h ; PRST |
1579/ F63B : 41 DB "A" | 1583/ F63B : 41 DB "A" |
1580/ F63C : C6 DB 'F'+80H | 1584/ F63C : C6 DB 'F'+80H |
1581/ F63D : (MACRO) ROTDP | 1585/ F63D : (MACRO) ROTDP |
1581/ F63D : E7 RST 20H | 1585/ F63D : E7 RST 20H |
1581/ F63E : 0D DB 0Dh ; OUTDP | 1585/ F63E : 0D DB 0Dh ; OUTDP |
1582/ F63F : (MACRO) RPRST | 1586/ F63F : (MACRO) RPRST |
1582/ F63F : E7 RST 20H | 1586/ F63F : E7 RST 20H |
1582/ F640 : 02 DB 02h ; PRST | 1586/ F640 : 02 DB 02h ; PRST |
1583/ F641 : 42 DB "B" | 1587/ F641 : 42 DB "B" |
1584/ F642 : C3 DB 'C'+80H | 1588/ F642 : C3 DB 'C'+80H |
1585/ F643 : (MACRO) ROTDP | 1589/ F643 : (MACRO) ROTDP |
1585/ F643 : E7 RST 20H | 1589/ F643 : E7 RST 20H |
1585/ F644 : 0D DB 0Dh ; OUTDP | 1589/ F644 : 0D DB 0Dh ; OUTDP |
1586/ F645 : (MACRO) RPRST | 1590/ F645 : (MACRO) RPRST |
1586/ F645 : E7 RST 20H | 1590/ F645 : E7 RST 20H |
1586/ F646 : 02 DB 02h ; PRST | 1590/ F646 : 02 DB 02h ; PRST |
1587/ F647 : 44 DB "D" | 1591/ F647 : 44 DB "D" |
1588/ F648 : C5 DB 'E'+80H | 1592/ F648 : C5 DB 'E'+80H |
1589/ F649 : (MACRO) ROTDP | 1593/ F649 : (MACRO) ROTDP |
1589/ F649 : E7 RST 20H | 1593/ F649 : E7 RST 20H |
1589/ F64A : 0D DB 0Dh ; OUTDP | 1593/ F64A : 0D DB 0Dh ; OUTDP |
1590/ F64B : (MACRO) RPRST | 1594/ F64B : (MACRO) RPRST |
1590/ F64B : E7 RST 20H | 1594/ F64B : E7 RST 20H |
1590/ F64C : 02 DB 02h ; PRST | 1594/ F64C : 02 DB 02h ; PRST |
1591/ F64D : 48 DB "H" | 1595/ F64D : 48 DB "H" |
1592/ F64E : CC DB 'L'+80H | 1596/ F64E : CC DB 'L'+80H |
1593/ F64F : (MACRO) ROTDP | 1597/ F64F : (MACRO) ROTDP |
1593/ F64F : E7 RST 20H | 1597/ F64F : E7 RST 20H |
1593/ F650 : 0D DB 0Dh ; OUTDP | 1597/ F650 : 0D DB 0Dh ; OUTDP |
1594/ F651 : 10 E6 DJNZ RKO4 | 1598/ F651 : 10 E6 DJNZ RKO4 |
1595/ F653 : ; | 1599/ F653 : ; |
1596/ F653 : 2A 2B 00 LD HL,(CUPOS) ;2. Satz als Schatten- | 1600/ F653 : 2A 2B 00 LD HL,(CUPOS) ;2. Satz als Schatten- |
1597/ F656 : 2B DEC HL ;register markieren: | 1601/ F656 : 2B DEC HL ;register markieren: |
1598/ F657 : 36 27 LD (HL),27H ;"'" | 1602/ F657 : 36 27 LD (HL),27H ;"'" |
1599/ F659 : C9 RET | 1603/ F659 : C9 RET |
1600/ F65A : ; | 1604/ F65A : ; |
1601/ F65A : 01 00 04 RKO3: LD BC,0400H ;B=4, C-Registernummer | 1605/ F65A : 01 00 04 RKO3: LD BC,0400H ;B=4, C-Registernummer |
1602/ F65D : 2A 16 00 LD HL,(SOIL) | 1606/ F65D : 2A 16 00 LD HL,(SOIL) |
1603/ F660 : 23 INC HL | 1607/ F660 : 23 INC HL |
1604/ F661 : 23 INC HL | 1608/ F661 : 23 INC HL |
1605/ F662 : 11 23 F6 LD DE,RKO2 | 1609/ F662 : 11 23 F6 LD DE,RKO2 |
1606/ F665 : 1A RKO5: LD A,(DE) ;Vergleich Registereingabe | 1610/ F665 : 1A RKO5: LD A,(DE) ;Vergleich Registereingabe |
1607/ F666 : BE CP A, (HL) ;mit allen Registern | 1611/ F666 : BE CP A, (HL) ;mit allen Registern |
1608/ F667 : 28 17 JR Z, RKO8 ;wenn gefunden | 1612/ F667 : 28 17 JR Z, RKO8 ;wenn gefunden |
1609/ F669 : 13 INC DE | 1613/ F669 : 13 INC DE |
1610/ F66A : E5 RKO6: PUSH HL | 1614/ F66A : E5 RKO6: PUSH HL |
1611/ F66B : 21 05 00 LD HL,5 | 1615/ F66B : 21 05 00 LD HL,5 |
1612/ F66E : 19 ADD HL,DE | 1616/ F66E : 19 ADD HL,DE |
1613/ F66F : EB EX DE,HL ;naechster Reg.name | 1617/ F66F : EB EX DE,HL ;naechster Reg.name |
1614/ F670 : E1 POP HL | 1618/ F670 : E1 POP HL |
1615/ F671 : 0C INC C ;C-Registernummer | 1619/ F671 : 0C INC C ;C-Registernummer |
1616/ F672 : 10 F1 DJNZ RKO5 | 1620/ F672 : 10 F1 DJNZ RKO5 |
1617/ F674 : 06 04 LD B,4 | 1621/ F674 : 06 04 LD B,4 |
1618/ F676 : 79 LD A,C | 1622/ F676 : 79 LD A,C |
1619/ F677 : FE 08 CP A, 8 | 1623/ F677 : FE 08 CP A, 8 |
1620/ F679 : 20 EA JR NZ, RKO5 ;weitersuchen | 1624/ F679 : 20 EA JR NZ, RKO5 ;weitersuchen |
1621/ F67B : F1 POP AF ;sonst falsche Eingabe | 1625/ F67B : F1 POP AF ;sonst falsche Eingabe |
1622/ F67C : FF RST 38H ;--> zum KDO-Monitor | 1626/ F67C : FF RST 38H ;--> zum KDO-Monitor |
1623/ F67D : ; | 1627/ F67D : ; |
1624/ F67D : 2B RKO7: DEC HL ;weitersuchen | 1628/ F67D : 2B RKO7: DEC HL ;weitersuchen |
1625/ F67E : 18 EA JR RKO6 | 1629/ F67E : 18 EA JR RKO6 |
1626/ F680 : ; | 1630/ F680 : ; |
1627/ F680 : 13 RKO8: INC DE ;Ueberpruefen zweiter | 1631/ F680 : 13 RKO8: INC DE ;Ueberpruefen zweiter |
1628/ F681 : 23 INC HL ;Buchstabe | 1632/ F681 : 23 INC HL ;Buchstabe |
1629/ F682 : 1A LD A,(DE) | 1633/ F682 : 1A LD A,(DE) |
1630/ F683 : E6 7F AND A, 7FH | 1634/ F683 : E6 7F AND A, 7FH |
1631/ F685 : BE CP A, (HL) | 1635/ F685 : BE CP A, (HL) |
1632/ F686 : 20 F5 JR NZ, RKO7 ;wenn ungleich | 1636/ F686 : 20 F5 JR NZ, RKO7 ;wenn ungleich |
1633/ F688 : 23 INC HL | 1637/ F688 : 23 INC HL |
1634/ F689 : 7E LD A,(HL) ;Schattenregister ? | 1638/ F689 : 7E LD A,(HL) ;Schattenregister ? |
1635/ F68A : FE 27 CP A, 27H ;"'" | 1639/ F68A : FE 27 CP A, 27H ;"'" |
1636/ F68C : 79 LD A,C | 1640/ F68C : 79 LD A,C |
1637/ F68D : 20 02 JR NZ, RKO9 ;wenn nicht | 1641/ F68D : 20 02 JR NZ, RKO9 ;wenn nicht |
1638/ F68F : C6 04 ADD A, 4 | 1642/ F68F : C6 04 ADD A, 4 |
1639/ F691 : CB 27 RKO9: SLA A | 1643/ F691 : CB 27 RKO9: SLA A |
1640/ F693 : 4F LD C,A | 1644/ F693 : 4F LD C,A |
1641/ F694 : 06 00 LD B,0 | 1645/ F694 : 06 00 LD B,0 |
1642/ F696 : 21 64 00 LD HL,REGSP+1 | 1646/ F696 : 21 64 00 LD HL,REGSP+1 |
1643/ F699 : ED 42 SBC HL,BC | 1647/ F699 : ED 42 SBC HL,BC |
1644/ F69B : 44 LD B,H ;HL=Adresse im | 1648/ F69B : 44 LD B,H ;HL=Adresse im |
1645/ F69C : 4D LD C,L ;Registerrettebereich | 1649/ F69C : 4D LD C,L ;Registerrettebereich |
1646/ F69D : (MACRO) ROTHS ;Ausgabe Wert | 1650/ F69D : (MACRO) ROTHS ;Ausgabe Wert |
1646/ F69D : E7 RST 20H | 1650/ F69D : E7 RST 20H |
1646/ F69E : 0C DB 0Ch ; OTHLS | 1650/ F69E : 0C DB 0Ch ; OTHLS |
1647/ F69F : CD B3 F2 CALL INLIN ;Eingabe neuer Wert | 1651/ F69F : CD B3 F2 CALL INLIN ;Eingabe neuer Wert |
1648/ F6A2 : ED 5B 16 00 LD DE,(SOIL) | 1652/ F6A2 : ED 5B 16 00 LD DE,(SOIL) |
1649/ F6A6 : CD F4 F2 CALL INHEX ;HL=neuer Wert | 1653/ F6A6 : CD F4 F2 CALL INHEX ;HL=neuer Wert |
1650/ F6A9 : 20 04 JR NZ, RKO10 ;wenn alles ok | 1654/ F6A9 : 20 04 JR NZ, RKO10 ;wenn alles ok |
1651/ F6AB : 1A LD A,(DE) ;keine Zahl, vielleicht | 1655/ F6AB : 1A LD A,(DE) ;keine Zahl, vielleicht |
1652/ F6AC : FE 3B CP A, ';' ;Abbruch ? | 1656/ F6AC : FE 3B CP A, ';' ;Abbruch ? |
1653/ F6AE : C8 RET Z | 1657/ F6AE : C8 RET Z |
1654/ F6AF : ; | 1658/ F6AF : ; |
1655/ F6AF : EB RKO10: EX DE,HL | 1659/ F6AF : EB RKO10: EX DE,HL |
1656/ F6B0 : C5 PUSH BC | 1660/ F6B0 : C5 PUSH BC |
1657/ F6B1 : E1 POP HL ;Adr. im Reg.rettebereich | 1661/ F6B1 : E1 POP HL ;Adr. im Reg.rettebereich |
1658/ F6B2 : 72 LD (HL),D ;neuen Wert eintragen | 1662/ F6B2 : 72 LD (HL),D ;neuen Wert eintragen |
1659/ F6B3 : 2B DEC HL | 1663/ F6B3 : 2B DEC HL |
1660/ F6B4 : 73 LD (HL),E | 1664/ F6B4 : 73 LD (HL),E |
1661/ F6B5 : C3 E4 F5 JP REGDA ;Registeranzeige | 1665/ F6B5 : C3 E4 F5 JP REGDA ;Registeranzeige |
1662/ F6B8 : | 1666/ F6B8 : |
1663/ F6B8 : =>TRUE IF MONTYP == "Z1013_202" | 1667/ F6B8 : =>TRUE IF MONTYP == "Z1013_202" |
1664/ F6B8 : ; | |
1665/ F6B8 : ;------------------------------------------------------------------------------- | |
1666/ F6B8 : ;Hex-Umschaltung | |
1667/ F6B8 : ;------------------------------------------------------------------------------- | |
1668/ F6B8 : ; | 1668/ F6B8 : ; |
1669/ F6B8 : 21 48 50 H_KDO: ld hl,5048h ;Aenderung der Tastaturcodetab. | 1669/ F6B8 : ;------------------------------------------------------------------------------- |
1670/ F6BB : 22 42 00 ld (LSYNC+15),hl ;Shift-Ebene 1, Zeile 2 und 3 | 1670/ F6B8 : ;Hex-Umschaltung |
1671/ F6BE : 21 30 38 ld hl,3830h ;vertauschen mit | 1671/ F6B8 : ;------------------------------------------------------------------------------- |
1672/ F6C1 : 22 45 00 ld (LSYNC+18),hl ;Shift-Ebene 0, Zeile 2 und 3 | 1672/ F6B8 : ; |
1673/ F6C4 : C9 RET | 1673/ F6B8 : 21 48 50 H_KDO: ld hl,5048h ;Aenderung der Tastaturcodetab. |
1674/ F6C5 : ; | 1674/ F6BB : 22 42 00 ld (LSYNC+15),hl ;Shift-Ebene 1, Zeile 2 und 3 |
1675/ F6C5 : ;------------------------------------------------------------------------------- | 1675/ F6BE : 21 30 38 ld hl,3830h ;vertauschen mit |
1676/ F6C5 : ;ASCII-Umschaltung | 1676/ F6C1 : 22 45 00 ld (LSYNC+18),hl ;Shift-Ebene 0, Zeile 2 und 3 |
1677/ F6C5 : ;------------------------------------------------------------------------------- | 1677/ F6C4 : C9 RET |
1678/ F6C5 : ; | 1678/ F6C5 : ; |
1679/ F6C5 : 21 F4 F1 A_KDO: ld hl,MONTB+2 ;Laden der alten | 1679/ F6C5 : ;------------------------------------------------------------------------------- |
1680/ F6C8 : 11 35 00 ld de,LSYNC+2 ;Tastaturcodetab. | 1680/ F6C5 : ;ASCII-Umschaltung |
1681/ F6CB : 01 12 00 ld bc,12h | 1681/ F6C5 : ;------------------------------------------------------------------------------- |
1682/ F6CE : ED B0 ldir | 1682/ F6C5 : ; |
1683/ F6D0 : C9 RET | 1683/ F6C5 : 21 F4 F1 A_KDO: ld hl,MONTB+2 ;Laden der alten |
1684/ F6D1 : | 1684/ F6C8 : 11 35 00 ld de,LSYNC+2 ;Tastaturcodetab. |
1685/ F6D1 : [1663] ENDIF | 1685/ F6CB : 01 12 00 ld bc,12h |
1686/ F6D1 : ; | 1686/ F6CE : ED B0 ldir |
1687/ F6D1 : ;------------------------------------------------------------------------------- | 1687/ F6D0 : C9 RET |
1688/ F6D1 : ;Window definieren | 1688/ F6D1 : |
1689/ F6D1 : ;------------------------------------------------------------------------------- | 1689/ F6D1 : [1667] ENDIF |
1690/ F6D1 : ; | 1690/ F6D1 : ; |
1691/ F6D1 : CD ED F6 W_KDO: CALL WKO1 ;Kontrolle Parameter | 1691/ F6D1 : ;------------------------------------------------------------------------------- |
1692/ F6D4 : 38 4C JR C, WKO3 ;wenn Fehleingabe | 1692/ F6D1 : ;Window definieren |
1693/ F6D6 : 22 47 00 LD (WINDL),HL ;neue Werte eintragen | 1693/ F6D1 : ;------------------------------------------------------------------------------- |
1694/ F6D9 : ED 43 49 00 LD (WINDA),BC | 1694/ F6D1 : ; |
1695/ F6DD : 2A 1D 00 LD HL,(ARG2) | 1695/ F6D1 : CD ED F6 W_KDO: CALL WKO1 ;Kontrolle Parameter |
1696/ F6E0 : 22 4B 00 LD (WINDE),HL | 1696/ F6D4 : 38 4C JR C, WKO3 ;wenn Fehleingabe |
1697/ F6E3 : 2A 2B 00 LD HL,(CUPOS) ;Cursor loeschen | 1697/ F6D6 : 22 47 00 LD (WINDL),HL ;neue Werte eintragen |
1698/ F6E6 : 36 20 LD (HL),' ' | 1698/ F6D9 : ED 43 49 00 LD (WINDA),BC |
1699/ F6E8 : ED 43 2B 00 LD (CUPOS),BC ;Cursor home | 1699/ F6DD : 2A 1D 00 LD HL,(ARG2) |
1700/ F6EC : C9 RET | 1700/ F6E0 : 22 4B 00 LD (WINDE),HL |
1701/ F6ED : ; | 1701/ F6E3 : 2A 2B 00 LD HL,(CUPOS) ;Cursor loeschen |
1702/ F6ED : 3A 1C 00 WKO1: LD A,(ARG1+1) | 1702/ F6E6 : 36 20 LD (HL),' ' |
1703/ F6F0 : FE EC CP A, hi(BWS) ;innerhalb BWS ? | 1703/ F6E8 : ED 43 2B 00 LD (CUPOS),BC ;Cursor home |
1704/ F6F2 : D8 RET C ;nein | 1704/ F6EC : C9 RET |
1705/ F6F3 : 3A 1B 00 LD A,(ARG1) ;WINDOW-Anfang | 1705/ F6ED : ; |
1706/ F6F6 : E6 E0 AND A, 0E0H ;auf Zeilenanfang stellen | 1706/ F6ED : 3A 1C 00 WKO1: LD A,(ARG1+1) |
1707/ F6F8 : 32 1B 00 LD (ARG1),A | 1707/ F6F0 : FE EC CP A, hi(BWS) ;innerhalb BWS ? |
1708/ F6FB : 3A 1D 00 LD A,(ARG2) ;ebenso WINDOW-Ende | 1708/ F6F2 : D8 RET C ;nein |
1709/ F6FE : E6 E0 AND A, 0E0H ;auf Zeilenanfang stellen | 1709/ F6F3 : 3A 1B 00 LD A,(ARG1) ;WINDOW-Anfang |
1710/ F700 : 32 1D 00 LD (ARG2),A | 1710/ F6F6 : E6 E0 AND A, 0E0H ;auf Zeilenanfang stellen |
1711/ F703 : 2A 1D 00 LD HL,(ARG2) | 1711/ F6F8 : 32 1B 00 LD (ARG1),A |
1712/ F706 : ED 4B 1B 00 LD BC,(ARG1) | 1712/ F6FB : 3A 1D 00 LD A,(ARG2) ;ebenso WINDOW-Ende |
1713/ F70A : ED 42 SBC HL,BC | 1713/ F6FE : E6 E0 AND A, 0E0H ;auf Zeilenanfang stellen |
1714/ F70C : D8 RET C ;Endadresse zu klein | 1714/ F700 : 32 1D 00 LD (ARG2),A |
1715/ F70D : 28 11 JR Z, WKO2 ;kein Window --> Fehler | 1715/ F703 : 2A 1D 00 LD HL,(ARG2) |
1716/ F70F : 2B DEC HL | 1716/ F706 : ED 4B 1B 00 LD BC,(ARG1) |
1717/ F710 : 3E 03 LD A,3 ;WINDOW zu gross ? | 1717/ F70A : ED 42 SBC HL,BC |
1718/ F712 : BC CP A, H | 1718/ F70C : D8 RET C ;Endadresse zu klein |
1719/ F713 : D8 RET C ;ja | 1719/ F70D : 28 11 JR Z, WKO2 ;kein Window --> Fehler |
1720/ F714 : 23 INC HL | 1720/ F70F : 2B DEC HL |
1721/ F715 : 11 40 00 LD DE,2*BWSCOL | 1721/ F710 : 3E 03 LD A,3 ;WINDOW zu gross ? |
1722/ F718 : ED 52 SBC HL,DE | 1722/ F712 : BC CP A, H |
1723/ F71A : D8 RET C ;wenn WINDOW zu klein | 1723/ F713 : D8 RET C ;ja |
1724/ F71B : 11 20 00 LD DE,BWSCOL | 1724/ F714 : 23 INC HL |
1725/ F71E : 19 ADD HL,DE | 1725/ F715 : 11 40 00 LD DE,2*BWSCOL |
1726/ F71F : C9 RET | 1726/ F718 : ED 52 SBC HL,DE |
1727/ F720 : ; | 1727/ F71A : D8 RET C ;wenn WINDOW zu klein |
1728/ F720 : 37 WKO2: SCF | 1728/ F71B : 11 20 00 LD DE,BWSCOL |
1729/ F721 : C9 RET | 1729/ F71E : 19 ADD HL,DE |
1730/ F722 : ; | 1730/ F71F : C9 RET |
1731/ F722 : F1 WKO3: POP AF | 1731/ F720 : ; |
1732/ F723 : FF RST 38H | 1732/ F720 : 37 WKO2: SCF |
1733/ F724 : ; | 1733/ F721 : C9 RET |
1734/ F724 : ;------------------------------------------------------------------------------- | 1734/ F722 : ; |
1735/ F724 : ;NEXT-Kommando, Step-Betrieb | 1735/ F722 : F1 WKO3: POP AF |
1736/ F724 : ;------------------------------------------------------------------------------- | 1736/ F723 : FF RST 38H |
1737/ F724 : ; | 1737/ F724 : ; |
1738/ F724 : ;Initialisierungstabelle fuer PIO bei NEXT | 1738/ F724 : ;------------------------------------------------------------------------------- |
1739/ F724 : ;PIO B5 => AB0 in | 1739/ F724 : ;NEXT-Kommando, Step-Betrieb |
1740/ F724 : ; | 1740/ F724 : ;------------------------------------------------------------------------------- |
1741/ F724 : FE NKTA: DB Lo(NINTA) ;Interruptvektor Low Byte | 1741/ F724 : ; |
1742/ F725 : 97 DB 10010111b ;Interruptsteuerwort, EI, Low-aktiv, Mask folgt | 1742/ F724 : ;Initialisierungstabelle fuer PIO bei NEXT |
1743/ F726 : DF DB 11011111b ;Interruptmaske Bit5 aktiv | 1743/ F724 : ;PIO B5 => AB0 in |
1744/ F727 : ; | 1744/ F724 : ; |
1745/ F727 : ;NEXT-Kommando | 1745/ F724 : FE NKTA: DB Lo(NINTA) ;Interruptvektor Low Byte |
1746/ F727 : ; | 1746/ F725 : 97 DB 10010111b ;Interruptsteuerwort, EI, Low-aktiv, Mask folgt |
1747/ F727 : 3E F7 N_KDO: LD A,Hi(NINTA) | 1747/ F726 : DF DB 11011111b ;Interruptmaske Bit5 aktiv |
1748/ F729 : ED 47 LD I,A ;Interruptvektor | 1748/ F727 : ; |
1749/ F72B : F3 DI | 1749/ F727 : ;NEXT-Kommando |
1750/ F72C : 21 24 F7 LD HL,NKTA ;Initialisieren PIO Port B | 1750/ F727 : ; |
1751/ F72F : 01 03 03 LD BC,0303H ;3 Bytes, Port PIOBC | 1751/ F727 : 3E F7 N_KDO: LD A,Hi(NINTA) |
1752/ F732 : ED B3 OTIR ;loest selbstaendig INT aus | 1752/ F729 : ED 47 LD I,A ;Interruptvektor |
1753/ F734 : 2A 0B 00 LD HL,(BPADR) ;Byte vor Breakadr.(!) | 1753/ F72B : F3 DI |
1754/ F737 : 2B DEC HL ;wird EI | 1754/ F72C : 21 24 F7 LD HL,NKTA ;Initialisieren PIO Port B |
1755/ F738 : 7E LD A,(HL) | 1755/ F72F : 01 03 03 LD BC,0303H ;3 Bytes, Port PIOBC |
1756/ F739 : 32 69 00 LD (NBYTE),A ;Byte retten | 1756/ F732 : ED B3 OTIR ;loest selbstaendig INT aus |
1757/ F73C : 36 FB LD (HL),0FBH ;Code EI einschreiben | 1757/ F734 : 2A 0B 00 LD HL,(BPADR) ;Byte vor Breakadr.(!) |
1758/ F73E : ED 73 6A 00 LD (SPADR),SP | 1758/ F737 : 2B DEC HL ;wird EI |
1759/ F742 : ED 7B 63 00 LD SP,(REGSP) | 1759/ F738 : 7E LD A,(HL) |
1760/ F746 : E5 PUSH HL ;Adr. mit EI-Befehl | 1760/ F739 : 32 69 00 LD (NBYTE),A ;Byte retten |
1761/ F747 : C3 4A F5 JP REGH ;Register holen und Start | 1761/ F73C : 36 FB LD (HL),0FBH ;Code EI einschreiben |
1762/ F74A : ;Die PIO generiert bereits beim OTIR eine Interruptanforderung, da dabei AB0 => 0. | 1762/ F73E : ED 73 6A 00 LD (SPADR),SP |
1763/ F74A : ;Sobald EI und nachfolgender Befehl ausgeführt wird, wird der Interrupt angenommen | 1763/ F742 : ED 7B 63 00 LD SP,(REGSP) |
1764/ F74A : ;und nachfolgende Routine über Inhalt der Adr. NINTA angesprungen (da IM 2) | 1764/ F746 : E5 PUSH HL ;Adr. mit EI-Befehl |
1765/ F74A : ; | 1765/ F747 : C3 4A F5 JP REGH ;Register holen und Start |
1766/ F74A : ;Eingang bei Interrupt | 1766/ F74A : ;Die PIO generiert bereits beim OTIR eine Interruptanforderung, da dabei AB0 => 0. |
1767/ F74A : F3 NINTR: DI | 1767/ F74A : ;Sobald EI und nachfolgender Befehl ausgeführt wird, wird der Interrupt angenommen |
1768/ F74B : CD 33 F5 CALL REGA ;Register retten | 1768/ F74A : ;und nachfolgende Routine über Inhalt der Adr. NINTA angesprungen (da IM 2) |
1769/ F74E : 3E 07 LD A,00000111b ;Interrupt von PIO | 1769/ F74A : ; |
1770/ F750 : D3 03 OUT PIOBC, A ;verbieten | 1770/ F74A : ;Eingang bei Interrupt |
1771/ F752 : 2A 0B 00 LD HL,(BPADR) ;EI-Befehl durch Original- | 1771/ F74A : F3 NINTR: DI |
1772/ F755 : 2B DEC HL ;Byte ersetzen | 1772/ F74B : CD 33 F5 CALL REGA ;Register retten |
1773/ F756 : 3A 69 00 LD A,(NBYTE) | 1773/ F74E : 3E 07 LD A,00000111b ;Interrupt von PIO |
1774/ F759 : 77 LD (HL),A | 1774/ F750 : D3 03 OUT PIOBC, A ;verbieten |
1775/ F75A : E1 POP HL | 1775/ F752 : 2A 0B 00 LD HL,(BPADR) ;EI-Befehl durch Original- |
1776/ F75B : 22 0B 00 LD (BPADR),HL ;neue Breakadresse | 1776/ F755 : 2B DEC HL ;Byte ersetzen |
1777/ F75E : 22 61 00 LD (REGPC),HL | 1777/ F756 : 3A 69 00 LD A,(NBYTE) |
1778/ F761 : ED 73 63 00 LD (REGSP),SP | 1778/ F759 : 77 LD (HL),A |
1779/ F765 : ED 7B 6A 00 LD SP,(SPADR) ;neue Operandenfolge | 1779/ F75A : E1 POP HL |
1780/ F769 : 11 0D 00 LD DE,BPOPC ;umladen | 1780/ F75B : 22 0B 00 LD (BPADR),HL ;neue Breakadresse |
1781/ F76C : 01 03 00 LD BC,3 | 1781/ F75E : 22 61 00 LD (REGPC),HL |
1782/ F76F : ED B0 LDIR | 1782/ F761 : ED 73 63 00 LD (REGSP),SP |
1783/ F771 : 21 E4 F5 LD HL,REGDA | 1783/ F765 : ED 7B 6A 00 LD SP,(SPADR) ;neue Operandenfolge |
1784/ F774 : E5 PUSH HL | 1784/ F769 : 11 0D 00 LD DE,BPOPC ;umladen |
1785/ F775 : ED 4D RETI ;Sprung zur Registeranzeige | 1785/ F76C : 01 03 00 LD BC,3 |
1786/ F777 : ; | 1786/ F76F : ED B0 LDIR |
1787/ F777 : ;------------------------------------------------------------------------------- | 1787/ F771 : 21 E4 F5 LD HL,REGDA |
1788/ F777 : ;Speicherbereiche vergleichen | 1788/ F774 : E5 PUSH HL |
1789/ F777 : ;------------------------------------------------------------------------------- | 1789/ F775 : ED 4D RETI ;Sprung zur Registeranzeige |
1790/ F777 : ; | 1790/ F777 : ; |
1791/ F777 : CD FF F4 C_KDO: CALL PARA ;Parameter holen | 1791/ F777 : ;------------------------------------------------------------------------------- |
1792/ F77A : 1A CKO1: LD A,(DE) | 1792/ F777 : ;Speicherbereiche vergleichen |
1793/ F77B : BE CP A, (HL) ;Vergleich | 1793/ F777 : ;------------------------------------------------------------------------------- |
1794/ F77C : 20 08 JR NZ, CKO3 ;wenn ungleich | 1794/ F777 : ; |
1795/ F77E : 0B CKO2: DEC BC | 1795/ F777 : CD FF F4 C_KDO: CALL PARA ;Parameter holen |
1796/ F77F : 23 INC HL | 1796/ F77A : 1A CKO1: LD A,(DE) |
1797/ F780 : 13 INC DE | 1797/ F77B : BE CP A, (HL) ;Vergleich |
1798/ F781 : 78 LD A,B | 1798/ F77C : 20 08 JR NZ, CKO3 ;wenn ungleich |
1799/ F782 : B1 OR C | 1799/ F77E : 0B CKO2: DEC BC |
1800/ F783 : C8 RET Z ;wenn alles geprueft | 1800/ F77F : 23 INC HL |
1801/ F784 : 18 F4 JR CKO1 ;sonst weitertesten | 1801/ F780 : 13 INC DE |
1802/ F786 : ; | 1802/ F781 : 78 LD A,B |
1803/ F786 : (MACRO) CKO3: ROTHL ;1. Adresse | 1803/ F782 : B1 OR C |
1803/ F786 : E7 RST 20H | 1804/ F783 : C8 RET Z ;wenn alles geprueft |
1803/ F787 : 07 DB 07h ; OUTHL | 1805/ F784 : 18 F4 JR CKO1 ;sonst weitertesten |
1804/ F788 : (MACRO) ROTSP | 1806/ F786 : ; |
1804/ F788 : E7 RST 20H | 1807/ F786 : (MACRO) CKO3: ROTHL ;1. Adresse |
1804/ F789 : 0E DB 0Eh ; OUTSP | 1807/ F786 : E7 RST 20H |
1805/ F78A : 7E LD A,(HL) | 1807/ F787 : 07 DB 07h ; OUTHL |
1806/ F78B : (MACRO) ROTHX ;1. Byte | 1808/ F788 : (MACRO) ROTSP |
1806/ F78B : E7 RST 20H | 1808/ F788 : E7 RST 20H |
1806/ F78C : 06 DB 06h ; OUTHX | 1808/ F789 : 0E DB 0Eh ; OUTSP |
1807/ F78D : (MACRO) ROTSP | 1809/ F78A : 7E LD A,(HL) |
1807/ F78D : E7 RST 20H | 1810/ F78B : (MACRO) ROTHX ;1. Byte |
1807/ F78E : 0E DB 0Eh ; OUTSP | 1810/ F78B : E7 RST 20H |
1808/ F78F : EB EX DE,HL | 1810/ F78C : 06 DB 06h ; OUTHX |
1809/ F790 : (MACRO) ROTHL ;2. Adresse | 1811/ F78D : (MACRO) ROTSP |
1809/ F790 : E7 RST 20H | 1811/ F78D : E7 RST 20H |
1809/ F791 : 07 DB 07h ; OUTHL | 1811/ F78E : 0E DB 0Eh ; OUTSP |
1810/ F792 : (MACRO) ROTSP | 1812/ F78F : EB EX DE,HL |
1810/ F792 : E7 RST 20H | 1813/ F790 : (MACRO) ROTHL ;2. Adresse |
1810/ F793 : 0E DB 0Eh ; OUTSP | 1813/ F790 : E7 RST 20H |
1811/ F794 : EB EX DE,HL | 1813/ F791 : 07 DB 07h ; OUTHL |
1812/ F795 : 1A LD A,(DE) | 1814/ F792 : (MACRO) ROTSP |
1813/ F796 : (MACRO) ROTHX ;2. Byte | 1814/ F792 : E7 RST 20H |
1813/ F796 : E7 RST 20H | 1814/ F793 : 0E DB 0Eh ; OUTSP |
1813/ F797 : 06 DB 06h ; OUTHX | 1815/ F794 : EB EX DE,HL |
1814/ F798 : (MACRO) RPRST | 1816/ F795 : 1A LD A,(DE) |
1814/ F798 : E7 RST 20H | 1817/ F796 : (MACRO) ROTHX ;2. Byte |
1814/ F799 : 02 DB 02h ; PRST | 1817/ F796 : E7 RST 20H |
1815/ F79A : 8D DB CR+80H | 1817/ F797 : 06 DB 06h ; OUTHX |
1816/ F79B : (MACRO) RINCH ;warten auf Tastendruck | 1818/ F798 : (MACRO) RPRST |
1816/ F79B : E7 RST 20H | 1818/ F798 : E7 RST 20H |
1816/ F79C : 01 DB 01h ; INCH | 1818/ F799 : 02 DB 02h ; PRST |
1817/ F79D : FE 0D CP A, CR | 1819/ F79A : 8D DB CR+80H |
1818/ F79F : C0 RET NZ ;Abbruch wenn <> >ENTER< | 1820/ F79B : (MACRO) RINCH ;warten auf Tastendruck |
1819/ F7A0 : 18 DC JR CKO2 ;sonst weitertesten | 1820/ F79B : E7 RST 20H |
1820/ F7A2 : | 1820/ F79C : 01 DB 01h ; INCH |
1821/ F7A2 : =>TRUE IF MONTYP <> "Z1013_A2" | 1821/ F79D : FE 0D CP A, CR |
1822/ F7A2 : ; | 1822/ F79F : C0 RET NZ ;Abbruch wenn <> >ENTER< |
1823/ F7A2 : ;------------------------------------------------------------------------------- | 1823/ F7A0 : 18 DC JR CKO2 ;sonst weitertesten |
1824/ F7A2 : ;Bytefolge suchen | 1824/ F7A2 : |
1825/ F7A2 : ;------------------------------------------------------------------------------- | 1825/ F7A2 : =>TRUE IF MONTYP <> "Z1013_A2" |
1826/ F7A2 : ; | 1826/ F7A2 : ; |
1827/ F7A2 : ED 5B 25 00 F_KDO: LD DE,(SOIL2) | 1827/ F7A2 : ;------------------------------------------------------------------------------- |
1828/ F7A6 : 1B DEC DE | 1828/ F7A2 : ;Bytefolge suchen |
1829/ F7A7 : 1B DEC DE | 1829/ F7A2 : ;------------------------------------------------------------------------------- |
1830/ F7A8 : ED 53 23 00 LD (ARG3),DE ;DE = Beginn Bytefolge | 1830/ F7A2 : ; |
1831/ F7AC : ED 4B 1B 00 LD BC,(ARG1) ;Suchadresse | 1831/ F7A2 : ED 5B 25 00 F_KDO: LD DE,(SOIL2) |
1832/ F7B0 : ED 5B 23 00 FKO1: LD DE,(ARG3) | 1832/ F7A6 : 1B DEC DE |
1833/ F7B4 : (MACRO) RINHX ;L = 1. Suchbyte | 1833/ F7A7 : 1B DEC DE |
1833/ F7B4 : E7 RST 20H | 1834/ F7A8 : ED 53 23 00 LD (ARG3),DE ;DE = Beginn Bytefolge |
1833/ F7B5 : 03 DB 03h ; INHEX | 1835/ F7AC : ED 4B 1B 00 LD BC,(ARG1) ;Suchadresse |
1834/ F7B6 : 0A FKO2: LD A,(BC) | 1836/ F7B0 : ED 5B 23 00 FKO1: LD DE,(ARG3) |
1835/ F7B7 : BD CP A, L ;L = Suchbyte | 1837/ F7B4 : (MACRO) RINHX ;L = 1. Suchbyte |
1836/ F7B8 : 28 07 JR Z, FKO3 ;wenn Bytes gleich | 1837/ F7B4 : E7 RST 20H |
1837/ F7BA : 03 INC BC ;sonst naechste Suchadresse | 1837/ F7B5 : 03 DB 03h ; INHEX |
1838/ F7BB : 78 LD A,B | 1838/ F7B6 : 0A FKO2: LD A,(BC) |
1839/ F7BC : B1 OR C | 1839/ F7B7 : BD CP A, L ;L = Suchbyte |
1840/ F7BD : 28 32 JR Z, FKO7 ;wenn Speicherende erreicht | 1840/ F7B8 : 28 07 JR Z, FKO3 ;wenn Bytes gleich |
1841/ F7BF : 18 F5 JR FKO2 ;weitersuchen | 1841/ F7BA : 03 INC BC ;sonst naechste Suchadresse |
1842/ F7C1 : ; | 1842/ F7BB : 78 LD A,B |
1843/ F7C1 : C5 FKO3: PUSH BC | 1843/ F7BC : B1 OR C |
1844/ F7C2 : D5 PUSH DE | 1844/ F7BD : 28 32 JR Z, FKO7 ;wenn Speicherende erreicht |
1845/ F7C3 : ED 5B 1D 00 LD DE,(ARG2) ;Suchbyteanzahl | 1845/ F7BF : 18 F5 JR FKO2 ;weitersuchen |
1846/ F7C7 : 1B DEC DE | 1846/ F7C1 : ; |
1847/ F7C8 : ED 53 6C 00 LD (FBANZ),DE ;Zwischenspeicher fuer Anzahl | 1847/ F7C1 : C5 FKO3: PUSH BC |
1848/ F7CC : 03 INC BC | 1848/ F7C2 : D5 PUSH DE |
1849/ F7CD : 7A FKO4: LD A,D | 1849/ F7C3 : ED 5B 1D 00 LD DE,(ARG2) ;Suchbyteanzahl |
1850/ F7CE : B3 OR E ;alle Suchbytes verglichen? | 1850/ F7C7 : 1B DEC DE |
1851/ F7CF : D1 POP DE | 1851/ F7C8 : ED 53 6C 00 LD (FBANZ),DE ;Zwischenspeicher fuer Anzahl |
1852/ F7D0 : 28 13 JR Z, FKO5 ;wenn Bytefolge gefunden | 1852/ F7CC : 03 INC BC |
1853/ F7D2 : (MACRO) RINHX ;naechstes Suchbyte holen | 1853/ F7CD : 7A FKO4: LD A,D |
1853/ F7D2 : E7 RST 20H | 1854/ F7CE : B3 OR E ;alle Suchbytes verglichen? |
1853/ F7D3 : 03 DB 03h ; INHEX | 1855/ F7CF : D1 POP DE |
1854/ F7D4 : 0A LD A,(BC) | 1856/ F7D0 : 28 13 JR Z, FKO5 ;wenn Bytefolge gefunden |
1855/ F7D5 : BD CP A, L | 1857/ F7D2 : (MACRO) RINHX ;naechstes Suchbyte holen |
1856/ F7D6 : 20 15 JR NZ, FKO6 ;wenn Folge nicht gefunden | 1857/ F7D2 : E7 RST 20H |
1857/ F7D8 : D5 PUSH DE | 1857/ F7D3 : 03 DB 03h ; INHEX |
1858/ F7D9 : ED 5B 6C 00 LD DE,(FBANZ) ;1 Byte weniger zu vergleichen | 1858/ F7D4 : 0A LD A,(BC) |
1859/ F7DD : 1B DEC DE | 1859/ F7D5 : BD CP A, L |
1860/ F7DE : ED 53 6C 00 LD (FBANZ),DE | 1860/ F7D6 : 20 15 JR NZ, FKO6 ;wenn Folge nicht gefunden |
1861/ F7E2 : 03 INC BC | 1861/ F7D8 : D5 PUSH DE |
1862/ F7E3 : 18 E8 JR FKO4 ;weitervergleichen | 1862/ F7D9 : ED 5B 6C 00 LD DE,(FBANZ) ;1 Byte weniger zu vergleichen |
1863/ F7E5 : ;Bytefolge gefunden | 1863/ F7DD : 1B DEC DE |
1864/ F7E5 : C1 FKO5: POP BC | 1864/ F7DE : ED 53 6C 00 LD (FBANZ),DE |
1865/ F7E6 : ED 43 1B 00 LD (ARG1),BC | 1865/ F7E2 : 03 INC BC |
1866/ F7EA : C3 25 F3 JP MEM ;Speicher modifizieren | 1866/ F7E3 : 18 E8 JR FKO4 ;weitervergleichen |
1867/ F7ED : ; | 1867/ F7E5 : ;Bytefolge gefunden |
1868/ F7ED : C1 FKO6: POP BC | 1868/ F7E5 : C1 FKO5: POP BC |
1869/ F7EE : 03 INC BC | 1869/ F7E6 : ED 43 1B 00 LD (ARG1),BC |
1870/ F7EF : 18 BF JR FKO1 | 1870/ F7EA : C3 25 F3 JP MEM ;Speicher modifizieren |
1871/ F7F1 : ;Bytefolge nirgends gefunden | 1871/ F7ED : ; |
1872/ F7F1 : (MACRO) FKO7: RPRST | 1872/ F7ED : C1 FKO6: POP BC |
1872/ F7F1 : E7 RST 20H | 1873/ F7EE : 03 INC BC |
1872/ F7F2 : 02 DB 02h ; PRST | 1874/ F7EF : 18 BF JR FKO1 |
1873/ F7F3 : 4E 4F 54 20 46 4F DB "NOT FOUND" | 1875/ F7F1 : ;Bytefolge nirgends gefunden |
| 1876/ F7F1 : (MACRO) FKO7: RPRST |
| 1876/ F7F1 : E7 RST 20H |
| 1876/ F7F2 : 02 DB 02h ; PRST |
| 1877/ F7F3 : 4E 4F 54 20 46 4F DB "NOT FOUND" |
55 4E 44 | 55 4E 44 |
1874/ F7FC : 8D DB CR+80H | 1878/ F7FC : 8D DB CR+80H |
1875/ F7FD : C9 RET | 1879/ F7FD : C9 RET |
1876/ F7FE : | 1880/ F7FE : |
1877/ F7FE : [1821] ENDIF | 1881/ F7FE : [1825] ENDIF |
1878/ F7FE : | 1882/ F7FE : |
1879/ F7FE : =>FALSE IF MONTYP == "Z1013_A2" | 1883/ F7FE : =>FALSE IF MONTYP == "Z1013_A2" |
1880/ F7FE : ; | |
1881/ F7FE : ;------------------------------------------------------------------------------- | |
1882/ F7FE : ; Tastaturcodetabelle | |
1883/ F7FE : ;------------------------------------------------------------------------------- | |
1884/ F7FE : ; | 1884/ F7FE : ; |
1885/ F7FE : keytab: | 1885/ F7FE : ;------------------------------------------------------------------------------- |
1886/ F7FE : ; spalte 0 | 1886/ F7FE : ; Tastaturcodetabelle |
1887/ F7FE : db 31h ; 1 | 1887/ F7FE : ;------------------------------------------------------------------------------- |
1888/ F7FE : db 51h ; Q | 1888/ F7FE : ; |
1889/ F7FE : db 41h ; A | 1889/ F7FE : keytab: |
1890/ F7FE : db 59h ; Y | 1890/ F7FE : ; spalte 0 |
1891/ F7FE : db 32h ; 2 | 1891/ F7FE : db 31h ; 1 |
1892/ F7FE : db 57h ; W | 1892/ F7FE : db 51h ; Q |
1893/ F7FE : db 53h ; S | 1893/ F7FE : db 41h ; A |
1894/ F7FE : db 58h ; X | 1894/ F7FE : db 59h ; Y |
1895/ F7FE : ; Spalte 1 | 1895/ F7FE : db 32h ; 2 |
1896/ F7FE : db 33h ; 3 | 1896/ F7FE : db 57h ; W |
1897/ F7FE : db 45h ; E | 1897/ F7FE : db 53h ; S |
1898/ F7FE : db 44h ; D | 1898/ F7FE : db 58h ; X |
1899/ F7FE : db 43h ; C | 1899/ F7FE : ; Spalte 1 |
1900/ F7FE : db 34h ; 4 | 1900/ F7FE : db 33h ; 3 |
1901/ F7FE : db 52h ; R | 1901/ F7FE : db 45h ; E |
1902/ F7FE : db 46h ; F | 1902/ F7FE : db 44h ; D |
1903/ F7FE : db 56h ; V | 1903/ F7FE : db 43h ; C |
1904/ F7FE : ; Spalte 2 | 1904/ F7FE : db 34h ; 4 |
1905/ F7FE : db 35h ; 5 | 1905/ F7FE : db 52h ; R |
1906/ F7FE : db 54h ; T | 1906/ F7FE : db 46h ; F |
1907/ F7FE : db 47h ; G | 1907/ F7FE : db 56h ; V |
1908/ F7FE : db 42h ; B | 1908/ F7FE : ; Spalte 2 |
1909/ F7FE : db 36h ; 6 | 1909/ F7FE : db 35h ; 5 |
1910/ F7FE : db 5Ah ; Z | 1910/ F7FE : db 54h ; T |
1911/ F7FE : db 48h ; H | 1911/ F7FE : db 47h ; G |
1912/ F7FE : db 4Eh ; N | 1912/ F7FE : db 42h ; B |
1913/ F7FE : ; Spalte 3 | 1913/ F7FE : db 36h ; 6 |
1914/ F7FE : db 37h ; 7 | 1914/ F7FE : db 5Ah ; Z |
1915/ F7FE : db 55h ; U | 1915/ F7FE : db 48h ; H |
1916/ F7FE : db 4Ah ; J | 1916/ F7FE : db 4Eh ; N |
1917/ F7FE : db 4Dh ; M | 1917/ F7FE : ; Spalte 3 |
1918/ F7FE : db 38h ; 8 | 1918/ F7FE : db 37h ; 7 |
1919/ F7FE : db 49h ; I | 1919/ F7FE : db 55h ; U |
1920/ F7FE : db 4Bh ; K | 1920/ F7FE : db 4Ah ; J |
1921/ F7FE : db 2Ch ; , | 1921/ F7FE : db 4Dh ; M |
1922/ F7FE : ; Spalte 4 | 1922/ F7FE : db 38h ; 8 |
1923/ F7FE : db 39h ; 9 | 1923/ F7FE : db 49h ; I |
1924/ F7FE : db 4Fh ; O | 1924/ F7FE : db 4Bh ; K |
1925/ F7FE : db 4Ch ; L | 1925/ F7FE : db 2Ch ; , |
1926/ F7FE : db 2Eh ; . | 1926/ F7FE : ; Spalte 4 |
1927/ F7FE : db 30h ; 0 | 1927/ F7FE : db 39h ; 9 |
1928/ F7FE : db 50h ; P | 1928/ F7FE : db 4Fh ; O |
1929/ F7FE : db 2Bh ; + | 1929/ F7FE : db 4Ch ; L |
1930/ F7FE : db 2Fh ; / | 1930/ F7FE : db 2Eh ; . |
1931/ F7FE : ; Spalte 5 | 1931/ F7FE : db 30h ; 0 |
1932/ F7FE : db 2Dh ; - | 1932/ F7FE : db 50h ; P |
1933/ F7FE : db 40h ; @ | 1933/ F7FE : db 2Bh ; + |
1934/ F7FE : db 2Ah ; * | 1934/ F7FE : db 2Fh ; / |
1935/ F7FE : db 5Eh ; ^ | 1935/ F7FE : ; Spalte 5 |
1936/ F7FE : db 5Bh ; [ | 1936/ F7FE : db 2Dh ; - |
1937/ F7FE : db 5Dh ; ] | 1937/ F7FE : db 40h ; @ |
1938/ F7FE : db 5Ch ; | 1938/ F7FE : db 2Ah ; * |
1939/ F7FE : db 5Fh ; _ | 1939/ F7FE : db 5Eh ; ^ |
1940/ F7FE : ; Spalte 6 | 1940/ F7FE : db 5Bh ; [ |
1941/ F7FE : tab2: db 0 ; Graph E/A | 1941/ F7FE : db 5Dh ; ] |
1942/ F7FE : db 0Dh ; ENT | 1942/ F7FE : db 5Ch ; |
1943/ F7FE : db 8 ; Cu. links | 1943/ F7FE : db 5Fh ; _ |
1944/ F7FE : db 9 ; Cu. rechts | 1944/ F7FE : ; Spalte 6 |
1945/ F7FE : db 20h ; Leerz. | 1945/ F7FE : tab2: db 0 ; Graph E/A |
1946/ F7FE : db 0 ; CTRL | 1946/ F7FE : db 0Dh ; ENT |
1947/ F7FE : db 0Bh ; Cu. hoch | 1947/ F7FE : db 8 ; Cu. links |
1948/ F7FE : db 0Ah ; Cu. runter | 1948/ F7FE : db 9 ; Cu. rechts |
1949/ F7FE : | 1949/ F7FE : db 20h ; Leerz. |
1950/ F7FE : [1879] ENDIF | 1950/ F7FE : db 0 ; CTRL |
1951/ F7FE : | 1951/ F7FE : db 0Bh ; Cu. hoch |
1952/ F7FE : ; | 1952/ F7FE : db 0Ah ; Cu. runter |
1953/ F7FE : ;------------------------------------------------------------------------------- | 1953/ F7FE : |
1954/ F7FE : ;Interrupttabelle fuer Break | 1954/ F7FE : [1883] ENDIF |
1955/ F7FE : ;------------------------------------------------------------------------------- | 1955/ F7FE : |
1956/ F7FE : ; | 1956/ F7FE : ; |
1957/ F7FE : | 1957/ F7FE : ;------------------------------------------------------------------------------- |
1958/ F7FE : align 2 | 1958/ F7FE : ;Interrupttabelle fuer Break |
1959/ F7FE : 4A F7 NINTA: DW NINTR | 1959/ F7FE : ;------------------------------------------------------------------------------- |
1960/ F800 : | 1960/ F7FE : ; |
1961/ F800 : END | 1961/ F7FE : |
| 1962/ F7FE : align 2 |
| 1963/ F7FE : 4A F7 NINTA: DW NINTR |
| 1964/ F800 : |
| 1965/ F800 : END |
</code> | </code> |
</WRAP> | </WRAP> |
| |