1 ; Disassembled ddtz.com, version "DDT/Z [8101]"
2 ; with modified relocater.
5 ; - Assemble to a .REL file with M80 or a compatible assembler.
6 ; - Use Digital Research Link-80 to generate a .PRL file (op switch).
7 ; - Cut the .PRL header (first 256 byte) end rename the result to DDTZ.COM.
9 ;-------------------------------------------------------------------------------
26 ;-------------------------------------------------------------------------------
30 ; Some greneral definitions
46 BDOS_CIN equ 1 ;Console Input
47 BDOS_COUT equ 2 ;Console Output
48 BDOS_PSTR equ 9 ;Print String
49 BDOS_CBUF equ 10 ;Read Console Buffer
50 BDOS_CSTAT equ 11 ;Get Console Status
51 BDOS_OPEN equ 15 ;Open File
52 BDOS_CLOSE equ 16 ;Close File
53 BDOS_DELETE equ 19 ;Delete File
54 BDOS_READ equ 20 ;Read Sequential
55 BDOS_WRITE equ 21 ;Write Sequential
56 BDOS_CREATE equ 22 ;Make File
57 BDOS_SETDMA equ 26 ;Set DMA Address
59 ; ddtz specific definitions
61 STACK_SIZE equ 64 ;ddtz internal stack
62 CONBUF_SIZE equ 80 ;Size of console input buffer
63 EXPR_BUF_SIZE equ 128 ;expressen buffer for conditional breakpoints
64 BP_CNT equ 12 ;Number of breakpoints
65 BP_SIZE equ 8 ;Size of a breakpoint record
66 YREG_CNT equ 10 ;Number of Y registers (0..9)
68 ;-------------------------------------------------------------------------------
80 current_cseg defl $ - current_cseg
81 .phase current_phase + current_cseg
84 db '[8101] 002',CR,LF,'$'
86 db 'Z80 or better required!',cr,lf,'$'
91 ds STACK_SIZE - (current_phase - signon)
167 ds CONBUF_SIZE + 3 - ($ - conbuf)
170 ld sp,stack ;00bd 31 46 00 1 F .
171 ld hl,l0146h ;00c0 21 46 01 ! F .
172 ld (CMD_ERR),hl ;00c3 22 66 00 " f .
173 ld hl,(REG.PC) ;00c6 2a 60 00 * ` .
174 ld (l0062h),hl ;00c9 22 62 00 " b .
175 call bp_clr_temporary ;00cc cd 54 07 . T .
176 ld hl,(cmd_rpt) ;00cf 2a 68 00 * h .
177 ld de,mainloop ;00d2 11 bd 00 . . .
178 call cp_hl_de ;00d5 cd ee 02 . . .
179 ld a,'>' ;00d8 3e 3e > >
180 call outchar ;00da cd 5d 02 . ] .
181 call nz,outchar ;00dd c4 5d 02 . ] .
182 call z,outbl ;00e0 cc 9f 02 . . .
183 call get_line ;00e3 cd 4e 01 . N .
184 call skipbl ;00e6 cd bf 02 . . .
185 jr z,exe_hl ;00e9 28 1f ( .
186 ld hl,mainloop ;00eb 21 bd 00 ! . .
187 ld (cmd_rpt),hl ;00ee 22 68 00 " h .
189 sub '@' ;00f2 d6 40 . @
190 jr c,ERROR ;00f4 38 11 8 .
191 cp 'Z'+1-'@' ;00f6 fe 1b . .
192 jr nc,ERROR ;00f8 30 0d 0 .
194 ld hl,CMDTAB ;00fb 21 10 01 ! . .
195 call add_hl_a ;00fe cd b9 02 . . .
200 jr exe_hl ;0105 18 03 . .
202 ld hl,(CMD_ERR) ;0107 2a 66 00 * f .
204 call CALL_HL ;010a cd 0f 01 . . .
205 jr mainloop ;010d 18 ae . .
208 dw cmd_@ ;0110 92 0d . .
209 dw cmd_A ;0112 fe 11 . .
210 dw cmd_B ;0114 6d 07 m .
211 dw cmd_C ;0116 17 21 . !
212 dw cmd_D ;0118 48 0f H .
213 dw ERROR ;011a 07 01 . .
214 dw cmd_F ;011c af 0f . .
215 dw cmd_G ;011e 31 07 1 .
216 dw cmd_H ;0120 3d 0e = .
217 dw cmd_I ;0122 a3 0d . .
218 dw ERROR ;0124 07 01 . .
219 dw ERROR ;0126 07 01 . .
220 dw cmd_L ;0128 cd 18 . .
221 dw cmd_M ;012a 19 0e . .
222 dw ERROR ;012c 07 01 . .
223 dw cmd_O ;012e c7 0d . .
224 dw ERROR ;0130 07 01 . .
225 dw cmd_Q ;0132 84 0e . .
226 dw cmd_R ;0134 62 10 b .
227 dw cmd_S ;0136 5a 0d Z .
228 dw cmd_T ;0138 1e 21 . !
229 dw ERROR ;013a 07 01 . .
230 dw cmd_V ;013c ea 0d . .
231 dw cmd_W ;013e a0 11 . .
232 dw cmd_X ;0140 f1 0b . .
233 dw cmd_Y ;0142 b2 0b . .
234 dw cmd_Z ;0144 ba 0e . .
237 ld a,'?' ;0146 3e 3f > ?
238 call outchar ;0148 cd 5d 02 . ] .
239 jp crlf ;014b c3 a3 02 . . .
242 ld de,conbuf ;014f 11 6a 00 . j .
243 ld c,BDOS_CBUF ;0152 0e 0a . .
244 call ddtz_bdos ;0154 cd 00 00 . . .
245 call crlf ;0157 cd a3 02 . . .
246 ld de,conbuf+1 ;015a 11 6b 00 . k .
249 ld c,0 ;015f 0e 00 . .
254 jr z,l0194h ;0164 28 2e ( .
256 bit 0,c ;0167 cb 41 . A
257 call z,toupper ;0169 cc 9b 01 . . .
259 cp '''' ;016d fe 27 . '
260 jr nz,l0162h ;016f 20 f1 .
264 cp '''' ;0174 fe 27 . '
265 jr z,l0190h ;0176 28 18 ( .
268 cp '^' ;017a fe 5e . ^
269 jr z,l0184h ;017c 28 06 ( .
272 cp '^' ;0180 fe 5e . ^
273 jr nz,l0190h ;0182 20 0c .
277 call sub_0303h ;0186 cd 03 03 . . .
281 cp '''' ;018c fe 27 . '
282 jr z,l0191h ;018e 28 01 ( .
287 jr l0162h ;0192 18 ce . .
291 ld de,conbuf+2 ;0196 11 6c 00 . l .
296 cp 'a' ;019b fe 61 . a
298 cp 'z'+1 ;019e fe 7b . {
300 and 05fh ;01a1 e6 5f . _
304 call out_hl ;01a4 cd 13 02 . . .
307 ld de,(offs.@) ;01a9 ed 5b 64 00 . [ d .
310 jr z,l01bfh ;01af 28 0e ( .
311 call outbl ;01b1 cd 9f 02 . . .
312 ld a,'@' ;01b4 3e 40 > @
313 call outchar ;01b6 cd 5d 02 . ] .
315 sbc hl,de ;01ba ed 52 . R
316 call out_hl ;01bc cd 13 02 . . .
323 call out.bin.b ;01c3 cd c7 01 . . .
326 ld b,8 ;01c7 06 08 . .
330 ld a,00 ;01cb 3e 00 > .
332 call out_dgt ;01ce cd 21 02 . ! .
334 djnz l01c9h ;01d2 10 f5 . .
335 ld a,'"' ;01d4 3e 22 > "
336 jp outchar ;01d6 c3 5d 02 . ] .
339 ld a,'-' ;01d9 3e 2d > -
340 call outchar ;01db cd 5d 02 . ] .
342 jp cpl.hl ;01df c3 79 05 . y .
346 call sub_01d9h ;01e3 cd d9 01 . . .
350 ld b,006h ;01e8 06 06 . .
351 call sub_01f9h ;01ea cd f9 01 . . .
353 ld a,'.' ;01ee 3e 2e > .
354 call outchar ;01f0 cd 5d 02 . ] .
356 call outbl ;01f3 cd 9f 02 . . .
357 djnz l01f3h ;01f6 10 fb . .
362 ld de,10 ;01fb 11 0a 00 . . .
363 call div_hl_de ;01fe cd 75 04 . u .
366 call nz,sub_01f9h ;0203 c4 f9 01 . . .
369 jr out_dgt ;0208 18 17 . .
373 call sub_01d9h ;020b cd d9 01 . . .
374 call out_hl ;020e cd 13 02 . . .
380 call out_hex ;0214 cd 18 02 . . .
389 call out_dgt ;021d cd 21 02 . ! .
393 and 0fh ;0221 e6 0f . .
394 cp 10 ;0223 fe 0a . .
395 jr c,l0229h ;0225 38 02 8 .
396 add a,007h ;0227 c6 07 . .
398 add a,'0' ;0229 c6 30 . 0
399 jr outchar ;022b 18 30 . 0
401 ld a,'-' ;022d 3e 2d > -
402 call outchar ;022f cd 5d 02 . ] .
403 ld a,040h ;0232 3e 40 > @
406 call outquote ;0235 cd 5b 02 . [ .
409 res 7,a ;023a cb bf . .
411 jr nc,l0242h ;023e 30 02 0 .
412 sub 0c0h ;0240 d6 c0 . .
414 call outchar ;0242 cd 5d 02 . ] .
416 cp '''' ;0246 fe 27 . '
417 call z,outchar ;0248 cc 5d 02 . ] .
420 call outquote ;024d cd 5b 02 . [ .
423 ld a,'.' ;0252 3e 2e > .
424 call m,outchar ;0254 fc 5d 02 . ] .
426 jr c,l022dh ;0258 38 d3 8 .
434 ld a,'''' ;025b 3e 27 > '
440 and 07fh ;0261 e6 7f .
\7f
442 ld c,BDOS_COUT ;0264 0e 02 . .
443 call ddtz_bdos ;0266 cd 00 00 . . .
444 ld hl,con_col ;0269 21 72 02 ! r .
456 ld c,BDOS_CSTAT ;0276 0e 0b . .
457 call ddtz_bdos ;0278 cd 00 00 . . .
459 jr z,l0284h ;027c 28 06 ( .
460 ld c,BDOS_CIN ;027e 0e 01 . .
461 call ddtz_bdos ;0280 cd 00 00 . . .
469 ld c,0 ;0288 0e 00 . .
474 call outchar ;028d cd 5d 02 . ] .
479 jr l028ah ;0294 18 f4 . .
482 call outbl2 ;0296 cd 9c 02 . . .
484 call outbl2 ;0299 cd 9c 02 . . .
486 call outbl ;029c cd 9f 02 . . .
488 ld a,' ' ;029f 3e 20 >
489 jr outchar ;02a1 18 ba . .
491 call inchar ;02a3 cd 73 02 . s .
492 ld a,CR ;02a6 3e 0d > .
493 call outchar ;02a8 cd 5d 02 . ] .
494 ld a,LF ;02ab 3e 0a > .
495 call outchar ;02ad cd 5d 02 . ] .
496 ld a,0 ;02b0 3e 00 > .
497 ld (con_col),a ;02b2 32 72 02 2 r .
498 jp c,mainloop ;02b5 da bd 00 . . .
512 jr z,skipbl0 ;02c2 28 fa ( .
513 cp TAB ;02c4 fe 09 . .
514 jr z,skipbl0 ;02c6 28 f6 ( .
519 call skipbl ;02ca cd bf 02 . . .
520 cp ',' ;02cd fe 2c . ,
523 call skipbl ;02d1 cd bf 02 . . .
528 call skipbl ;02d6 cd bf 02 . . .
531 jp ERROR ;02da c3 07 01 . . .
536 ld hl,0 ;02df 21 00 00 ! . .
538 ld de,stack-40 ;02e3 11 1e 00 . . .
539 call cp_hl_de ;02e6 cd ee 02 . . .
542 jr c,to_error ;02eb 38 ed 8 .
547 sbc hl,de ;02ef ed 52 . R
552 ld b,0 ;02f3 06 00 . .
559 jr z,l0300h ;02fa 28 04 ( .
562 jr l02f5h ;02fe 18 f5 . .
569 ld hl,b_0cc3_start ;0303 21 c3 0c ! . .
570 ld b,07fh ;0306 06 7f .
571 jr l030ch ;0308 18 02 . .
574 ld b,0ffh ;030a 06 ff . .
580 call sub_031ch ;0310 cd 1c 03 . . .
581 jr nc,l030ch ;0313 30 f7 0 .
582 res 7,b ;0315 cb b8 . .
587 res 7,b ;0319 cb b8 . .
595 and 07fh ;0320 e6 7f .
596 jr nz,l0336h ;0322 20 12 .
597 bit 7,(hl) ;0324 cb 7e . ~
600 jr z,l031eh ;0328 28 f4 ( .
602 bit 7,b ;032b cb 78 . x
603 call z,sub_060ch ;032d cc 0c 06 . . .
604 jr nc,l0339h ;0330 30 07 0 .
610 call sub_0345h ;0336 cd 45 03 . E .
622 call sub_0345h ;0340 cd 45 03 . E .
623 jr l033eh ;0343 18 f9 . .
634 jr l0348h ;034c 18 fa . .
637 call get_arg_range ;034e cd 7d 03 . } .
640 call next_arg ;0353 cd ca 02 . . .
641 call sub_0363h ;0356 cd 63 03 . c .
648 call expr ;035d cd be 03 . . .
649 jr c,error0 ;0360 38 33 8 3
653 call sub_035dh ;0363 cd 5d 03 . ] .
655 jp assert_eol ;0366 c3 d6 02 . . .
658 call get_arg_def ;0369 cd 6e 03 . n .
659 jr l0366h ;036c 18 f8 . .
663 call expr ;036f cd be 03 . . .
664 jr c,l0375h ;0372 38 01 8 .
665 ex (sp),hl ;0374 e3 .
671 call b_037c_start ;0377 cd 7c 03 . | .
672 jr l0366h ;037a 18 ea . .
681 call expr ;0381 cd be 03 . . .
682 jr nc,l038ch ;0384 30 06 0 .
684 jr c,error0 ;0387 38 0c 8 .
690 call get_range ;038d cd 9a 03 . . .
691 jr nc,l0398h ;0390 30 06 0 .
696 jp ERROR ;0395 c3 07 01 . . .
702 call next_arg ;039a cd ca 02 . . .
703 cp 'S' ;039d fe 53 . S
704 jr nz,l03a2h ;039f 20 01 .
709 call expr ;03a4 cd be 03 . . .
710 jr c,l03b8h ;03a7 38 0f 8 .
715 jr z,l03b6h ;03ad 28 07 ( .
729 jr z,error0 ;03ba 28 d9 ( .
734 call skipbl ;03be cd bf 02 . . .
736 call do_subexpr ;03c1 cd 2f 04 . / .
738 call do_rel_op ;03c5 cd ef 03 . . .
742 call do_subexpr ;03cb cd 2f 04 . / .
743 jr c,error0 ;03ce 38 c5 8 .
745 ex (sp),hl ;03d1 e3 .
747 sbc hl,de ;03d3 ed 52 . R
748 ld hl,0ffffh ;03d5 21 ff ff ! . .
753 jr z,l03edh ;03da 28 11 ( .
754 jr l03ech ;03dc 18 0e . .
756 jr nz,l03edh ;03de 20 0d .
757 jr l03ech ;03e0 18 0a . .
759 jr z,l03edh ;03e2 28 09 ( .
761 jr c,l03edh ;03e4 38 07 8 .
762 jr l03ech ;03e6 18 04 . .
764 jr z,l03ech ;03e8 28 02 ( .
766 jr nc,l03edh ;03ea 30 01 0 .
774 ld hl,tab_eq_le_ge ;03f0 21 1f 04 ! . .
775 call lookupch ;03f3 cd f3 02 . . .
776 jr nc,l041dh ;03f6 30 25 0 %
779 jr z,l0411h ;03fa 28 15 ( .
781 cp '=' ;03fd fe 3d . =
782 jr nz,l0406h ;03ff 20 05 .
786 jr l0411h ;0404 18 0b . .
788 bit 0,b ;0406 cb 40 . @
789 jr z,l0411h ;0408 28 07 ( .
790 cp '>' ;040a fe 3e . >
791 jr nz,l0411h ;040c 20 03 .
793 ld b,005h ;040f 06 05 . .
795 ld hl,tab_func_eqlege ;0411 21 23 04 ! # .
798 call add_hl_a ;0416 cd b9 02 . . .
811 dw do_op_eq ;0423 da 03 . .
812 dw do_op_lt ;0425 e4 03 . .
813 dw do_op_gt ;0427 e8 03 . .
814 dw do_op_le ;0429 e2 03 . .
815 dw do_op_ge ;042b ea 03 . .
816 dw do_op_ne ;042d de 03 . .
819 call do_factor ;042f cd e4 04 . . .
822 call do_binary_op ;0433 cd ae 04 . . .
825 call do_factor ;0438 cd e4 04 . . .
828 ex (sp),hl ;043d e3 .
829 jr nc,l0447h ;043e 30 07 0 .
834 jp ERROR ;0444 c3 07 01 . . .
847 jr l0433h ;044e 18 e3 . .
851 sbc hl,de ;0451 ed 52 . R
852 jr l044dh ;0453 18 f8 . .
858 ld hl,0 ;0458 21 00 00 ! . .
859 ld a,010h ;045b 3e 10 > .
865 jr nc,l0464h ;0461 30 01 0 .
869 jr nz,l045dh ;0465 20 f6 .
871 jr l044dh ;0468 18 e3 . .
874 call div_hl_de ;046a cd 75 04 . u .
875 jr l044dh ;046d 18 de . .
878 call div_hl_de ;046f cd 75 04 . u .
880 jr l044dh ;0473 18 d8 . .
894 ld hl,0 ;0479 21 00 00 ! . .
895 ld a,16 ;047c 3e 10 > .
897 ; de: x (x shifted out, q shifted in)
899 ; hl: r (initially 0)
915 jr nc,l048fh ;048b 30 02 0 .
921 jr nz,l047eh ;0491 20 eb .
933 jr l044dh ;049c 18 af . .
942 jr l044dh ;04a4 18 a7 . .
951 jr l044dh ;04ac 18 9f . .
955 ld hl,tab_op_a ;04af 21 c2 04 ! . .
956 call lookupch ;04b2 cd f3 02 . . .
958 ld hl,tblf_opa ;04b6 21 cb 04 ! . .
960 call add_hl_a ;04ba cd b9 02 . . .
971 dw doop_add ;04cb 4c 04 L .
972 dw doop_sub ;04cd 50 04 P .
973 dw doop_mlt ;04cf 55 04 U .
974 dw doop_div ;04d1 6a 04 j .
975 dw doop_mod ;04d3 6f 04 o .
976 dw doop_and ;04d5 96 04 . .
977 dw doop_or ;04d7 9e 04 . .
978 dw doop_xor ;04d9 a6 04 . .
982 call do_factor ;04dd cd e4 04 . . .
984 jp ERROR ;04e1 c3 07 01 . . .
987 call chk_sp ;04e4 cd dd 02 . . .
988 call get.number ;04e7 cd aa 05 . . .
991 ld hl,(BDOS+1) ;04ec 21 ff ff ! . .
992 cp 'T' ;04ef fe 54 . T
994 ld hl,(high_load) ;04f2 2a 9c 11 * . .
995 cp 'H' ;04f5 fe 48 . H
997 ld hl,(max_load) ;04f8 2a 9e 11 * . .
998 cp 'M' ;04fb fe 4d . M
1000 ld hl,TPA ;04fe 21 00 01 ! . .
1001 cp 'L' ;0501 fe 4c . L
1003 ld hl,(offs.@) ;0504 2a 64 00 * d .
1004 cp '@' ;0507 fe 40 . @
1006 ld hl,(l0062h) ;050a 2a 62 00 * b .
1007 cp '$' ;050d fe 24 . $
1009 cp '-' ;0510 fe 2d . -
1010 jr z,fact_factneg ;0512 28 61 ( a
1011 cp '~' ;0514 fe 7e . ~
1012 jr z,fact_factinv ;0516 28 68 ( h
1013 cp '+' ;0518 fe 2b . +
1014 jr z,fact_factor ;051a 28 c1 ( .
1015 cp '^' ;051c fe 5e . ^
1016 jr z,fact_reg.CPU ;051e 28 45 ( E
1017 cp 'Y' ;0520 fe 59 . Y
1018 jr z,fact_reg.Y ;0522 28 10 ( .
1019 cp '(' ;0524 fe 28 . (
1020 jr z,fact_mem ;0526 28 5d ( ]
1021 cp '[' ;0528 fe 5b . [
1022 jp z,expr_brckt ;052a ca 9d 05 . . .
1023 cp '''' ;052d fe 27 . '
1024 jr z,fact_factstring ;052f 28 17 ( .
1030 call get.decdigit ;0534 cd 1d 06 . . .
1031 jp c,ERROR ;0537 da 07 01 . . .
1034 ld hl,reg_Y ;053c 21 9e 0b ! . .
1035 call add_hl_a ;053f cd b9 02 . . .
1036 ld a,(hl) ;0542 7e ~
1038 ld h,(hl) ;0544 66 f
1044 ld hl,0 ;0548 21 00 00 ! . .
1046 ld a,(de) ;054b 1a .
1047 cp '''' ;054c fe 27 . '
1048 jr z,l0557h ;054e 28 07 ( .
1055 jr l054bh ;0555 18 f4 . .
1058 ld a,(de) ;0558 1a .
1059 cp '''' ;0559 fe 27 . '
1060 jr z,l0552h ;055b 28 f5 ( .
1061 sub '.' ;055d d6 2e . .
1065 set 7,l ;0562 cb fd . .
1069 call sub_0caeh ;0565 cd ae 0c . . .
1070 jr nc,error4 ;0568 30 3d 0 =
1071 ld a,(hl) ;056a 7e ~
1073 ld h,(hl) ;056c 66 f
1076 bit 0,c ;056f cb 41 . A
1078 ld h,000h ;0572 26 00 & .
1082 call fact_factor ;0575 cd dd 04 . . .
1094 call fact_factor ;0580 cd dd 04 . . .
1095 jr cpl.hl ;0583 18 f4 . .
1098 call expr1 ;0585 cd c1 03 . . .
1099 jr c,error4 ;0588 38 1d 8 .
1100 ld a,(de) ;058a 1a .
1101 cp ')' ;058b fe 29 . )
1102 jr nz,error4 ;058d 20 18 .
1104 ld a,(hl) ;0590 7e ~
1106 ld h,(hl) ;0592 66 f
1108 ld a,(de) ;0594 1a .
1110 cp '.' ;0596 fe 2e . .
1118 call expr1 ;059d cd c1 03 . . .
1119 jr c,error4 ;05a0 38 05 8 .
1120 ld a,(de) ;05a2 1a .
1121 cp ']' ;05a3 fe 5d . ]
1125 jp ERROR ;05a7 c3 07 01 . . .
1128 call get.hexdigit ;05aa cd 11 06 . . .
1133 call get.hexdigit ;05b0 cd 11 06 . . .
1134 jr nc,test_number ;05b3 30 fa 0 .
1136 cp '.' ;05b6 fe 2e . .
1137 jr z,get_dec_number ;05b8 28 36 ( 6
1138 cp '"' ;05ba fe 22 . "
1139 jr z,get_bin_number ;05bc 28 17 ( .
1140 ld hl,0 ;05be 21 00 00 ! . .
1142 call get.hexdigit ;05c1 cd 11 06 . . .
1143 jr c,hexnum_done ;05c4 38 0a 8 .
1144 add hl,hl ;05c6 29 )
1145 add hl,hl ;05c7 29 )
1146 add hl,hl ;05c8 29 )
1147 add hl,hl ;05c9 29 )
1148 call add_hl_a ;05ca cd b9 02 . . .
1150 jr next_hexdigit ;05ce 18 f1 . .
1153 xor 'H' ;05d0 ee 48 . H
1159 ld hl,0 ;05d5 21 00 00 ! . .
1161 call get.bindigit ;05d8 cd 22 06 . " .
1164 jr c,l05e4h ;05dc 38 06 8 .
1165 add hl,hl ;05de 29 )
1166 call add_hl_a ;05df cd b9 02 . . .
1167 jr next_bindigit ;05e2 18 f4 . .
1169 cp '"' ;05e4 fe 22 . "
1170 jp nz,ERROR ;05e6 c2 07 01 . . .
1171 call get.bindigit ;05e9 cd 22 06 . " .
1172 jr nc,l05dbh ;05ec 30 ed 0 .
1177 ld hl,0 ;05f0 21 00 00 ! . .
1179 call get.decdigit ;05f3 cd 1d 06 . . .
1181 jr c,decnum_done ;05f7 38 0d 8 .
1183 add hl,hl ;05fa 29 )
1186 add hl,hl ;05fd 29 )
1187 add hl,hl ;05fe 29 )
1188 add hl,bc ;05ff 09 .
1190 call add_hl_a ;0601 cd b9 02 . . .
1191 jr next_decdigit ;0604 18 ed . .
1193 cp '.' ;0606 fe 2e . .
1195 jp ERROR ;0609 c3 07 01 . . .
1198 ld a,(de) ;060c 1a .
1199 cp '[' ;060d fe 5b . [
1200 jr l0614h ;060f 18 03 . .
1232 call assert_eol ;062d cd d6 02 . . .
1234 call p_f ;0630 cd 6e 06 . n .
1235 call outbl2 ;0633 cd 9c 02 . . .
1236 ld hl,b_06e9_start ;0636 21 e9 06 ! . .
1237 ld de,b_0709_start ;0639 11 09 07 . . .
1238 ld b,6 ;063c 06 06 . .
1240 call p_regs ;063e cd b2 06 . . .
1241 djnz l063eh ;0641 10 fb . .
1244 ld iy,(REG.PC) ;0645 fd 2a 60 00 . * ` .
1245 call p_disas_instr ;0649 cd 65 19 . e .
1247 ex af,af' ;064d 08 .
1248 call crlf ;064e cd a3 02 . . .
1249 call p_f2 ;0651 cd 81 06 . . .
1250 call outbl2 ;0654 cd 9c 02 . . .
1253 ld b,7 ;0659 06 07 . .
1255 call p_regs ;065b cd b2 06 . . .
1256 djnz l065bh ;065e 10 fb . .
1258 ex af,af' ;0661 08 .
1260 jr z,l066bh ;0663 28 06 ( .
1261 call outbl6 ;0665 cd 96 02 . . .
1262 call p_offset ;0668 cd 49 19 . I .
1264 jp crlf ;066b c3 a3 02 . . .
1267 ld a,(reg.f) ;066e 3a 54 00 : T .
1268 call p_flags ;0671 cd 8a 06 . . .
1269 ld a,(reg.iff) ;0674 3a 5e 00 : ^ .
1270 cp 0f3h ;0677 fe f3 . .
1271 jp z,outbl ;0679 ca 9f 02 . . .
1272 ld a,'E' ;067c 3e 45 > E
1273 jp outchar ;067e c3 5d 02 . ] .
1275 ld a,(reg.f2) ;0681 3a 4c 00 : L .
1276 call p_flags ;0684 cd 8a 06 . . .
1277 jp outbl ;0687 c3 9f 02 . . .
1280 ld a,'S' ;068b 3e 53 > S
1281 call sub_06aah ;068d cd aa 06 . . .
1282 ld a,'Z' ;0690 3e 5a > Z
1283 call sub_06aah ;0692 cd aa 06 . . .
1284 rl b ;0695 cb 10 . .
1285 ld a,'H' ;0697 3e 48 > H
1286 call sub_06aah ;0699 cd aa 06 . . .
1287 rl b ;069c cb 10 . .
1288 ld a,'V' ;069e 3e 56 > V
1289 call sub_06aah ;06a0 cd aa 06 . . .
1290 ld a,'N' ;06a3 3e 4e > N
1291 call sub_06aah ;06a5 cd aa 06 . . .
1292 ld a,'C' ;06a8 3e 43 > C
1294 rl b ;06aa cb 10 . .
1295 jp c,outchar ;06ac da 5d 02 . ] .
1296 jp outbl ;06af c3 9f 02 . . .
1301 call pstr ;06b4 cd 88 02 . . .
1302 ld a,'=' ;06b7 3e 3d > =
1303 call outchar ;06b9 cd 5d 02 . ] .
1304 ex (sp),hl ;06bc e3 .
1305 ld e,(hl) ;06bd 5e ^
1307 ld d,(hl) ;06bf 56 V
1309 ld a,(hl) ;06c1 7e ~
1313 jr z,l06deh ;06c5 28 17 ( .
1315 ld a,(de) ;06c8 1a .
1318 ld a,(de) ;06cb 1a .
1322 jr z,l06d9h ;06cf 28 08 ( .
1323 call out.hl.@ ;06d1 cd a4 01 . . .
1324 call z,outbl6 ;06d4 cc 96 02 . . .
1325 jr l06e2h ;06d7 18 09 . .
1327 call out_hl ;06d9 cd 13 02 . . .
1328 jr l06e2h ;06dc 18 04 . .
1330 ld a,(de) ;06de 1a .
1331 call out_hex ;06df cd 18 02 . . .
1333 call outbl ;06e2 cd 9f 02 . . .
1356 dw reg.a ;0709 55 00 U .
1358 dw reg.c ;070c 56 00 V .
1360 dw reg.e ;070f 58 00 X .
1362 dw reg.l ;0712 5a 00 Z .
1364 dw reg_sp ;0715 5c 00 \ .
1366 dw REG.PC ;0718 60 00 ` .
1368 dw reg.a2 ;071b 4d 00 M .
1370 dw reg.c2 ;071e 4a 00 J .
1372 dw reg.e2 ;0721 48 00 H .
1374 dw reg.l2 ;0724 46 00 F .
1376 dw reg.ix ;0727 52 00 R .
1378 dw reg.iy ;072a 50 00 P .
1380 dw reg.i ;072d 4f 00 O .
1386 ld (trace_call_flag),a ;0732 32 e3 21 2 . !
1387 ld (l0941h),a ;0735 32 41 09 2 A .
1388 call expr ;0738 cd be 03 . . .
1389 jr c,l0740h ;073b 38 03 8 .
1390 ld (REG.PC),hl ;073d 22 60 00 " ` .
1392 call skipbl ;0740 cd bf 02 . . .
1393 jp z,user_go ;0743 ca 25 0a . % .
1394 cp ';' ;0746 fe 3b . ;
1395 jp nz,ERROR ;0748 c2 07 01 . . .
1397 ld a,002h ;074c 3e 02 > .
1398 call bp_enter ;074e cd 10 08 . . .
1399 jp user_go ;0751 c3 25 0a . % .
1402 ld b,BP_CNT ;0754 06 0c . .
1403 ld ix,bp_tab ;0756 dd 21 b8 0a . ! . .
1405 ld a,(ix+000h) ;075a dd 7e 00 . ~ .
1406 and 0f1h ;075d e6 f1 . .
1407 ld (ix+000h),a ;075f dd 77 00 . w .
1408 call bp_clr_condition ;0762 cd 5f 0a . _ .
1409 ld de,BP_SIZE ;0765 11 08 00 . . .
1410 add ix,de ;0768 dd 19 . .
1411 djnz l075ah ;076a 10 ee . .
1415 call skipbl ;076d cd bf 02 . . .
1416 jr z,l07b7h ;0770 28 45 ( E
1418 cp 'X' ;0773 fe 58 . X
1419 jr z,l077dh ;0775 28 06 ( .
1421 ld a,001h ;0778 3e 01 > .
1422 jp bp_enter ;077a c3 10 08 . . .
1424 call skipbl ;077d cd bf 02 . . .
1425 jr z,bp_clr_all ;0780 28 10 ( .
1427 call expr ;0782 cd be 03 . . .
1428 jp c,assert_eol ;0785 da d6 02 . . .
1430 call bp_clr ;0789 cd 93 07 . . .
1432 call next_arg ;078d cd ca 02 . . .
1433 jr l0782h ;0790 18 f0 . .
1438 ld b,BP_CNT ;0793 06 0c . .
1439 ld ix,bp_tab ;0795 dd 21 b8 0a . ! . .
1442 jr c,l07a7h ;079a 38 0b 8 .
1443 ld e,(ix+002h) ;079c dd 5e 02 . ^ .
1444 ld d,(ix+003h) ;079f dd 56 03 . V .
1445 call cp_hl_de ;07a2 cd ee 02 . . .
1446 jr nz,l07aeh ;07a5 20 07 .
1448 ld (ix+000h),000h ;07a7 dd 36 00 00 . 6 . .
1449 call bp_clr_condition ;07ab cd 5f 0a . _ .
1451 ld de,BP_SIZE ;07ae 11 08 00 . . .
1452 add ix,de ;07b1 dd 19 . .
1454 djnz l0799h ;07b4 10 e3 . .
1458 ld b,BP_CNT ;07b7 06 0c . .
1459 ld ix,bp_tab ;07b9 dd 21 b8 0a . ! . .
1461 bit 0,(ix+000h) ;07bd dd cb 00 46 . . . F
1462 jr z,l0808h ;07c1 28 45 ( E
1463 ld a,'R' ;07c3 3e 52 > R
1464 bit 4,(ix+000h) ;07c5 dd cb 00 66 . . . f
1465 jr nz,l07cdh ;07c9 20 02 .
1466 ld a,' ' ;07cb 3e 20 >
1468 call outchar ;07cd cd 5d 02 . ] .
1469 call outbl ;07d0 cd 9f 02 . . .
1470 ld l,(ix+002h) ;07d3 dd 6e 02 . n .
1471 ld h,(ix+003h) ;07d6 dd 66 03 . f .
1472 call out.hl.@ ;07d9 cd a4 01 . . .
1473 call outbl2 ;07dc cd 9c 02 . . .
1474 ld a,':' ;07df 3e 3a > :
1475 call outchar ;07e1 cd 5d 02 . ] .
1476 ld l,(ix+004h) ;07e4 dd 6e 04 . n .
1477 ld h,(ix+005h) ;07e7 dd 66 05 . f .
1478 call out_hl ;07ea cd 13 02 . . .
1479 ld l,(ix+006h) ;07ed dd 6e 06 . n .
1480 ld h,(ix+007h) ;07f0 dd 66 07 . f .
1483 jr z,l0805h ;07f5 28 0e ( .
1484 call outbl4 ;07f7 cd 99 02 . . .
1485 ld a,'I' ;07fa 3e 49 > I
1486 call outchar ;07fc cd 5d 02 . ] .
1487 call outbl2 ;07ff cd 9c 02 . . .
1488 call pstr ;0802 cd 88 02 . . .
1490 call crlf ;0805 cd a3 02 . . .
1492 ld de,BP_SIZE ;0808 11 08 00 . . .
1493 add ix,de ;080b dd 19 . .
1494 djnz l07bdh ;080d 10 ae . .
1497 ; Add break points to list
1498 ; A = 1 Permanent (B command)
1499 ; A = 2 Temporary (G command)
1503 call skipbl ;0811 cd bf 02 . . .
1505 cp 'R' ;0815 fe 52 . R
1506 jr nz,l081ch ;0817 20 03 .
1508 set 4,b ;081a cb e0 . .
1511 call expr ;081d cd be 03 . . .
1512 jp c,ERROR ;0820 da 07 01 . . .
1514 bit 0,b ;0824 cb 40 . @
1518 call nz,bp_clr ;0829 c4 93 07 . . .
1520 call bp_get_freeslot ;082d cd 54 08 . T .
1522 ld (ix+002h),l ;0831 dd 75 02 . u .
1523 ld (ix+003h),h ;0834 dd 74 03 . t .
1524 call bp_get_count ;0837 cd 6c 08 . l .
1525 ld (ix+004h),l ;083a dd 75 04 . u .
1526 ld (ix+005h),h ;083d dd 74 05 . t .
1527 call bp_get_condition ;0840 cd 7d 08 . } .
1528 ld (ix+006h),l ;0843 dd 75 06 . u .
1529 ld (ix+007h),h ;0846 dd 74 07 . t .
1530 call next_arg ;0849 cd ca 02 . . .
1532 ld (ix+000h),a ;084d dd 77 00 . w .
1533 and 00fh ;0850 e6 0f . .
1534 jr bp_enter ;0852 18 bc . .
1537 ld b,BP_CNT ;0854 06 0c . .
1538 ld ix,bp_tab ;0856 dd 21 b8 0a . ! . .
1540 ld a,(ix+000h) ;085a dd 7e 00 . ~ .
1541 and 00fh ;085d e6 0f . .
1544 ld bc,BP_SIZE ;0861 01 08 00 . . .
1545 add ix,bc ;0864 dd 09 . .
1547 djnz l085ah ;0867 10 f1 . .
1548 jp ERROR ;0869 c3 07 01 . . .
1551 call skipbl ;086c cd bf 02 . . .
1552 ld hl,1 ;086f 21 01 00 ! . .
1553 cp ':' ;0872 fe 3a . :
1556 call expr ;0876 cd be 03 . . .
1557 jp c,ERROR ;0879 da 07 01 . . .
1561 call skipbl ;087d cd bf 02 . . .
1562 cp 'I' ;0880 fe 49 . I
1563 ld hl,0 ;0882 21 00 00 ! . .
1566 call skipbl ;0887 cd bf 02 . . .
1568 call expr ;088b cd be 03 . . .
1569 jp c,ERROR ;088e da 07 01 . . .
1573 sbc hl,de ;0894 ed 52 . R
1576 ld hl,(expr_p1) ;0898 2a 18 0b * . .
1578 add hl,bc ;089c 09 .
1579 ld de,expr_bufe ;089d 11 9c 0b . . .
1580 call cp_hl_de ;08a0 cd ee 02 . . .
1581 jp nc,ERROR ;08a3 d2 07 01 . . .
1583 ld (expr_p2),hl ;08a7 22 1a 0b " . .
1586 ldir ;08ac ed b0 . .
1588 ld (de),a ;08af 12 .
1591 ld (expr_p1),hl ;08b2 22 18 0b " . .
1592 ld hl,(expr_p2) ;08b5 2a 1a 0b * . .
1596 ld (reg.l),hl ;08b9 22 5a 00 " Z .
1599 ld (REG.PC),hl ;08be 22 60 00 " ` .
1600 ld (reg_sp),sp ;08c1 ed 73 5c 00 . s \ .
1601 ld sp,reg.l ;08c5 31 5a 00 1 Z .
1605 push ix ;08cb dd e5 . .
1606 push iy ;08cd fd e5 . .
1607 ld a,i ;08cf ed 57 . W
1608 call sub_0004h ;08d1 cd 04 00 . . .
1610 ld l,000h ;08d5 2e 00 . .
1612 ld a,0f3h ;08d8 3e f3 > .
1613 jp po,l08dfh ;08da e2 df 08 . . .
1614 ld a,0fbh ;08dd 3e fb > .
1616 ld (reg.iff),a ;08df 32 5e 00 2 ^ .
1617 ex af,af' ;08e2 08 .
1623 call sub_097ah ;08e8 cd 7a 09 . z .
1624 ld a,(b_21e2_start) ;08eb 3a e2 21 : . !
1626 jr z,l090bh ;08ef 28 1a ( .
1627 call inchar ;08f1 cd 73 02 . s .
1628 jr c,l0902h ;08f4 38 0c 8 .
1629 call sub_0913h ;08f6 cd 13 09 . . .
1631 jp z,user_go ;08fa ca 25 0a . % .
1632 and 083h ;08fd e6 83 . .
1633 jp z,l2151h ;08ff ca 51 21 . Q !
1635 call bp_clr_temporary ;0902 cd 54 07 . T .
1636 call p_cpustat ;0905 cd 30 06 . 0 .
1637 jp mainloop ;0908 c3 bd 00 . . .
1640 ld (b_21e2_start),a ;090b 32 e2 21 2 . !
1641 ld c,007h ;090e 0e 07 . .
1642 jp l0a41h ;0910 c3 41 0a . A .
1645 ld a,080h ;0913 3e 80 > .
1646 ex af,af' ;0915 08 .
1648 ld (l0941h),a ;0917 32 41 09 2 A .
1649 ld b,BP_CNT ;091a 06 0c . .
1650 ld ix,bp_tab ;091c dd 21 b8 0a . ! . .
1652 ld a,(ix+000h) ;0920 dd 7e 00 . ~ .
1653 and 007h ;0923 e6 07 . .
1654 jr z,l0938h ;0925 28 11 ( .
1655 ld e,(ix+002h) ;0927 dd 5e 02 . ^ .
1656 ld d,(ix+003h) ;092a dd 56 03 . V .
1657 ld hl,(REG.PC) ;092d 2a 60 00 * ` .
1658 call cp_hl_de ;0930 cd ee 02 . . .
1660 call z,sub_0942h ;0934 cc 42 09 . B .
1663 ld de,BP_SIZE ;0938 11 08 00 . . .
1664 add ix,de ;093b dd 19 . .
1665 djnz l0920h ;093d 10 e1 . .
1666 ex af,af' ;093f 08 .
1670 ex af,af' ;0942 08 .
1671 res 7,a ;0943 cb bf . .
1672 ex af,af' ;0945 08 .
1673 ld e,(ix+006h) ;0946 dd 5e 06 . ^ .
1674 ld d,(ix+007h) ;0949 dd 56 07 . V .
1677 ld hl,0ffffh ;094e 21 ff ff ! . .
1678 call nz,expr ;0951 c4 be 03 . . .
1681 jr z,l0969h ;0956 28 11 ( .
1682 ld e,(ix+004h) ;0958 dd 5e 04 . ^ .
1683 ld d,(ix+005h) ;095b dd 56 05 . V .
1687 jr z,l0974h ;0961 28 11 ( .
1688 ld (ix+004h),e ;0963 dd 73 04 . s .
1689 ld (ix+005h),d ;0966 dd 72 05 . r .
1691 bit 4,(ix+000h) ;0969 dd cb 00 66 . . . f
1693 ld a,001h ;096e 3e 01 > .
1694 ld (l0941h),a ;0970 32 41 09 2 A .
1697 ex af,af' ;0974 08 .
1698 or (ix+000h) ;0975 dd b6 00 . . .
1699 ex af,af' ;0978 08 .
1703 ld b,BP_CNT ;097a 06 0c . .
1704 ld ix,bp_tab ;097c dd 21 b8 0a . ! . .
1706 bit 5,(ix+000h) ;0980 dd cb 00 6e . . . n
1707 res 5,(ix+000h) ;0984 dd cb 00 ae . . . .
1708 jr z,l099ah ;0988 28 10 ( .
1709 ld l,(ix+002h) ;098a dd 6e 02 . n .
1710 ld h,(ix+003h) ;098d dd 66 03 . f .
1711 ld a,(l0003h) ;0990 3a 03 00 : . .
1713 jr nz,l099ah ;0994 20 04 .
1714 ld a,(ix+001h) ;0996 dd 7e 01 . ~ .
1715 ld (hl),a ;0999 77 w
1717 res 3,(ix+000h) ;099a dd cb 00 9e . . . .
1718 ld de,BP_SIZE ;099e 11 08 00 . . .
1719 add ix,de ;09a1 dd 19 . .
1720 djnz l0980h ;09a3 10 db . .
1724 ld b,BP_CNT ;09a6 06 0c . .
1725 ld ix,bp_tab ;09a8 dd 21 b8 0a . ! . .
1727 ld a,(ix+000h) ;09ac dd 7e 00 . ~ .
1728 and 003h ;09af e6 03 . .
1729 jr z,l09c0h ;09b1 28 0d ( .
1730 ld e,(ix+002h) ;09b3 dd 5e 02 . ^ .
1731 ld d,(ix+003h) ;09b6 dd 56 03 . V .
1732 ld hl,(REG.PC) ;09b9 2a 60 00 * ` .
1733 call cp_hl_de ;09bc cd ee 02 . . .
1736 ld de,BP_SIZE ;09c0 11 08 00 . . .
1737 add ix,de ;09c3 dd 19 . .
1738 djnz l09ach ;09c5 10 e5 . .
1744 call bp_get_freeslot ;09ca cd 54 08 . T .
1745 ld (ix+004h),001h ;09cd dd 36 04 01 . 6 . .
1746 ld (ix+005h),000h ;09d1 dd 36 05 00 . 6 . .
1747 ld (ix+002h),l ;09d5 dd 75 02 . u .
1748 ld (ix+003h),h ;09d8 dd 74 03 . t .
1749 ld (ix+006h),000h ;09db dd 36 06 00 . 6 . .
1750 ld (ix+007h),000h ;09df dd 36 07 00 . 6 . .
1751 ld a,(b_21e2_start) ;09e3 3a e2 21 : . !
1753 ld a,008h ;09e7 3e 08 > .
1754 jr nz,l09edh ;09e9 20 02 .
1755 ld a,004h ;09eb 3e 04 > .
1757 ld (ix+000h),a ;09ed dd 77 00 . w .
1761 ld b,BP_CNT ;09f1 06 0c . .
1762 ld ix,bp_tab ;09f3 dd 21 b8 0a . ! . .
1764 ld a,(ix+000h) ;09f7 dd 7e 00 . ~ .
1766 jr z,l0a1dh ;09fb 28 20 (
1767 set 5,(ix+000h) ;09fd dd cb 00 ee . . . .
1768 ld l,(ix+002h) ;0a01 dd 6e 02 . n .
1769 ld h,(ix+003h) ;0a04 dd 66 03 . f .
1770 ld a,(hl) ;0a07 7e ~
1771 ld (ix+001h),a ;0a08 dd 77 01 . w .
1772 ld a,(l0003h) ;0a0b 3a 03 00 : . .
1773 ld (hl),a ;0a0e 77 w
1774 and 038h ;0a0f e6 38 . 8
1775 ld h,000h ;0a11 26 00 & .
1777 ld (hl),0c3h ;0a14 36 c3 6 .
1779 ld de,bpddtz ;0a17 11 b9 08 . . .
1780 ld (hl),e ;0a1a 73 s
1782 ld (hl),d ;0a1c 72 r
1784 ld de,BP_SIZE ;0a1d 11 08 00 . . .
1785 add ix,de ;0a20 dd 19 . .
1786 djnz l09f7h ;0a22 10 d3 . .
1791 ld (b_21e2_start),a ;0a26 32 e2 21 2 . !
1792 ld a,(l0941h) ;0a29 3a 41 09 : A .
1794 call nz,p_cpustat ;0a2d c4 30 06 . 0 .
1795 call sub_09a6h ;0a30 cd a6 09 . . .
1796 ld c,007h ;0a33 0e 07 . .
1797 jr nz,l0a41h ;0a35 20 0a .
1798 ld a,001h ;0a37 3e 01 > .
1799 ld (b_21e2_start),a ;0a39 32 e2 21 2 . !
1800 call sub_1ffeh ;0a3c cd fe 1f . . .
1801 ld c,008h ;0a3f 0e 08 . .
1803 call sub_09f1h ;0a41 cd f1 09 . . .
1804 ld sp,reg.l2 ;0a44 31 46 00 1 F .
1810 ex af,af' ;0a4c 08 .
1812 ld i,a ;0a4e ed 47 . G
1813 pop iy ;0a50 fd e1 . .
1814 pop ix ;0a52 dd e1 . .
1819 ld sp,(reg_sp) ;0a58 ed 7b 5c 00 . { \ .
1820 jp reg.iff ;0a5c c3 5e 00 . ^ .
1823 ld a,(ix+000h) ;0a5f dd 7e 00 . ~ .
1824 and 003h ;0a62 e6 03 . .
1826 ld e,(ix+006h) ;0a65 dd 5e 06 . ^ .
1827 ld d,(ix+007h) ;0a68 dd 56 07 . V .
1835 ld (ix+006h),a ;0a72 dd 77 06 . w .
1836 ld (ix+007h),a ;0a75 dd 77 07 . w .
1837 ld bc,0ffffh ;0a78 01 ff ff . . .
1838 cpir ;0a7b ed b1 . .
1841 ld de,(expr_p1) ;0a7e ed 5b 18 0b . [ . .
1842 call cp_hl_de ;0a82 cd ee 02 . . .
1844 jr nc,l0a93h ;0a86 30 0b 0 .
1845 call sub_0a99h ;0a88 cd 99 0a . . .
1847 ld a,(hl) ;0a8b 7e ~
1850 jr nz,l0a8bh ;0a8f 20 fa .
1851 jr l0a7dh ;0a91 18 ea . .
1853 ld (expr_p1),de ;0a93 ed 53 18 0b . S . .
1858 ld iy,bp_tab ;0a99 fd 21 b8 0a . ! . .
1861 ld e,(iy+006h) ;0a9e fd 5e 06 . ^ .
1862 ld d,(iy+007h) ;0aa1 fd 56 07 . V .
1863 call cp_hl_de ;0aa4 cd ee 02 . . .
1864 jr z,l0ab0h ;0aa7 28 07 ( .
1865 ld de,BP_SIZE ;0aa9 11 08 00 . . .
1866 add iy,de ;0aac fd 19 . .
1867 jr l0a9eh ;0aae 18 ee . .
1870 ld (iy+006h),e ;0ab1 fd 73 06 . s .
1871 ld (iy+007h),d ;0ab4 fd 72 07 . r .
1875 call get.decdigit ;0bb2 cd 1d 06 . . .
1876 jr c,l0bc3h ;0bb5 38 0c 8 .
1879 call assert_eol ;0bb9 cd d6 02 . . .
1881 call sub_0bdch ;0bbd cd dc 0b . . .
1882 jp l0c15h ;0bc0 c3 15 0c . . .
1884 call assert_eol ;0bc3 cd d6 02 . . .
1888 call sub_0bdch ;0bc8 cd dc 0b . . .
1889 call outbl4 ;0bcb cd 99 02 . . .
1892 bit 0,a ;0bd0 cb 47 . G
1894 call z,crlf ;0bd3 cc a3 02 . . .
1896 cp YREG_CNT ;0bd7 fe 0a . .
1897 jr c,l0bc7h ;0bd9 38 ec 8 .
1902 ld b,0 ;0bdd 06 00 . .
1903 add a,'0'+080h ;0bdf c6 b0 . .
1904 ld de,msg_Y+1 ;0be1 11 9d 0b . . .
1905 ld (de),a ;0be4 12 .
1907 ld hl,reg_Y ;0be6 21 9e 0b ! . .
1908 add hl,bc ;0be9 09 .
1909 add hl,bc ;0bea 09 .
1911 ld c,003h ;0bec 0e 03 . .
1912 jp l0c33h ;0bee c3 33 0c . 3 .
1915 call skipbl ;0bf1 cd bf 02 . . .
1916 call sub_0caeh ;0bf4 cd ae 0c . . .
1917 jp nc,p_cpustat0 ;0bf7 d2 2d 06 . - .
1918 call assert_eol ;0bfa cd d6 02 . . .
1920 cp 01eh ;0bfe fe 1e . .
1921 jr z,l0c5fh ;0c00 28 5d ( ]
1922 cp 01fh ;0c02 fe 1f . .
1923 jr z,l0c4fh ;0c04 28 49 ( I
1924 cp 01dh ;0c06 fe 1d . .
1925 jp z,ERROR ;0c08 ca 07 01 . . .
1927 ld hl,b_0cc3_start ;0c0c 21 c3 0c ! . .
1928 call sel_dc_string ;0c0f cd 3d 03 . = .
1930 call l0c33h ;0c12 cd 33 0c . 3 .
1932 call outbl ;0c15 cd 9f 02 . . .
1935 call get_line ;0c1a cd 4e 01 . N .
1936 call skipbl ;0c1d cd bf 02 . . .
1937 jr z,l0c30h ;0c20 28 0e ( .
1938 call sub_0363h ;0c22 cd 63 03 . c .
1943 ld (hl),c ;0c29 71 q
1944 bit 0,a ;0c2a cb 47 . G
1947 ld (hl),b ;0c2e 70 p
1955 call pstr ;0c34 cd 88 02 . . .
1956 ld a,'=' ;0c37 3e 3d > =
1957 call outchar ;0c39 cd 5d 02 . ] .
1958 ld a,(de) ;0c3c 1a .
1959 bit 0,b ;0c3d cb 40 . @
1960 jp z,out_hex ;0c3f ca 18 02 . . .
1963 ld a,(de) ;0c44 1a .
1966 bit 1,b ;0c47 cb 48 . H
1967 jp z,out_hl ;0c49 ca 13 02 . . .
1968 jp out.hl.@ ;0c4c c3 a4 01 . . .
1971 call p_f ;0c4f cd 6e 06 . n .
1972 ld a,0f3h ;0c52 3e f3 > .
1973 ld (reg.iff),a ;0c54 32 5e 00 2 ^ .
1975 call sub_0c6ah ;0c58 cd 6a 0c . j .
1976 ld (reg.f),a ;0c5b 32 54 00 2 T .
1979 call p_f2 ;0c5f cd 81 06 . . .
1981 call sub_0c6ah ;0c63 cd 6a 0c . j .
1982 ld (reg.f2),a ;0c66 32 4c 00 2 L .
1985 ex af,af' ;0c6a 08 .
1986 ld b,000h ;0c6b 06 00 . .
1987 call outbl ;0c6d cd 9f 02 . . .
1988 call assert_eol ;0c70 cd d6 02 . . .
1989 call get_line ;0c73 cd 4e 01 . N .
1991 call skipbl ;0c76 cd bf 02 . . .
1995 ld hl,b_0ca4_start ;0c7c 21 a4 0c ! . .
1996 call lookupch ;0c7f cd f3 02 . . .
1997 jp nc,ERROR ;0c82 d2 07 01 . . .
1999 cp 008h ;0c86 fe 08 . .
2000 jr z,l0c97h ;0c88 28 0d ( .
2005 add a,0c0h ;0c8e c6 c0 . .
2006 ld (l0c94h),a ;0c90 32 94 0c 2 . .
2007 defb 0cbh ;0c93 cb .
2009 defb 0c0h ;0c94 c0 .
2010 jr l0c76h ;0c95 18 df . .
2012 ex af,af' ;0c97 08 .
2013 jp nc,ERROR ;0c98 d2 07 01 . . .
2014 ex af,af' ;0c9b 08 .
2015 ld a,0fbh ;0c9c 3e fb > .
2016 ld (reg.iff),a ;0c9e 32 5e 00 2 ^ .
2018 jr l0c76h ;0ca2 18 d2 . .
2024 call sub_0303h ;0cae cd 03 03 . . .
2029 ld hl,b_0cfa_start ;0cb5 21 fa 0c ! . .
2030 call add_hl_a ;0cb8 cd b9 02 . . .
2031 ld c,(hl) ;0cbb 4e N
2033 ld a,(hl) ;0cbd 7e ~
2035 ld h,(hl) ;0cbf 66 f
2077 dw reg.c2 ;0cfb 4a 00 J .
2079 dw reg.e2 ;0cfe 48 00 H .
2081 dw reg.l2 ;0d01 46 00 F .
2083 dw reg.c ;0d04 56 00 V .
2085 dw reg.e ;0d07 58 00 X .
2087 dw reg.l ;0d0a 5a 00 Z .
2089 dw reg.a2 ;0d0d 4d 00 M .
2091 dw reg.b2 ;0d10 4b 00 K .
2093 dw reg.c2 ;0d13 4a 00 J .
2095 dw reg.d2 ;0d16 49 00 I .
2097 dw reg.e2 ;0d19 48 00 H .
2099 dw reg.h2 ;0d1c 47 00 G .
2101 dw reg.l2 ;0d1f 46 00 F .
2103 dw reg.a ;0d22 55 00 U .
2105 dw reg.b ;0d25 57 00 W .
2107 dw reg.c ;0d28 56 00 V .
2109 dw reg.d ;0d2b 59 00 Y .
2111 dw reg.e ;0d2e 58 00 X .
2113 dw reg.h ;0d31 5b 00 [ .
2115 dw reg.l ;0d34 5a 00 Z .
2117 dw reg.ix ;0d37 52 00 R .
2119 dw reg.iy ;0d3a 50 00 P .
2121 dw reg_sp ;0d3d 5c 00 \ .
2123 dw REG.PC ;0d40 60 00 ` .
2125 dw reg.ix ;0d43 52 00 R .
2127 dw reg.iy ;0d46 50 00 P .
2129 dw reg_sp ;0d49 5c 00 \ .
2131 dw REG.PC ;0d4c 60 00 ` .
2133 dw reg.i ;0d4f 4f 00 O .
2135 dw l004eh ;0d52 4e 00 N .
2137 dw reg.f2 ;0d55 4c 00 L .
2139 dw reg.f ;0d58 54 00 T .
2142 ld hl,(last_S) ;0d5a 2a 90 0d * . .
2143 call get_lastarg_def ;0d5d cd 69 03 . i .
2145 ld (last_S),hl ;0d60 22 90 0d " . .
2146 call out.hl.@ ;0d63 cd a4 01 . . .
2147 call outbl ;0d66 cd 9f 02 . . .
2148 ld a,(hl) ;0d69 7e ~
2149 call out_hex ;0d6a cd 18 02 . . .
2150 call outbl2 ;0d6d cd 9c 02 . . .
2151 call get_line ;0d70 cd 4e 01 . N .
2152 call skipbl ;0d73 cd bf 02 . . .
2154 jr z,l0d60h ;0d77 28 e7 ( .
2157 cp '.' ;0d7b fe 2e . .
2158 jp z,assert_eol ;0d7d ca d6 02 . . .
2159 cp '-' ;0d80 fe 2d . -
2160 jr nz,l0d8ah ;0d82 20 06 .
2161 ld a,(de) ;0d84 1a .
2164 jr z,l0d60h ;0d87 28 d7 ( .
2168 call sub_0ef8h ;0d8b cd f8 0e . . .
2169 jr l0d60h ;0d8e 18 d0 . .
2172 call assert_eol ;0d92 cd d6 02 . . .
2173 ld hl,msg_offset ;0d95 21 a0 0d ! . .
2174 ld de,offs.@ ;0d98 11 64 00 . d .
2175 ld c,001h ;0d9b 0e 01 . .
2176 jp l0c12h ;0d9d c3 12 0c . . .
2182 ld hl,cmd_I ;0da3 21 a3 0d ! . .
2183 ld (cmd_rpt),hl ;0da6 22 68 00 " h .
2184 ld hl,(last_I) ;0da9 2a a1 0d * . .
2185 call get_lastarg_def ;0dac cd 69 03 . i .
2186 ld (last_I),hl ;0daf 22 a1 0d " . .
2189 in a,(c) ;0db4 ed 78 . x
2191 call out_hex ;0db7 cd 18 02 . . .
2192 call outbl4 ;0dba cd 99 02 . . .
2194 call out.bin.b ;0dbe cd c7 01 . . .
2195 jp crlf ;0dc1 c3 a3 02 . . .
2198 ld hl,cmd_O ;0dc7 21 c7 0d ! . .
2199 ld (cmd_rpt),hl ;0dca 22 68 00 " h .
2200 ld hl,(last_O_val) ;0dcd 2a c6 0d * . .
2201 call get_arg_def ;0dd0 cd 6e 03 . n .
2203 ld (last_O_val),a ;0dd4 32 c6 0d 2 . .
2205 call next_arg ;0dd8 cd ca 02 . . .
2206 ld hl,(last_O_addr) ;0ddb 2a c4 0d * . .
2207 call get_lastarg_def ;0dde cd 69 03 . i .
2208 ld (last_O_addr),hl ;0de1 22 c4 0d " . .
2212 out (c),a ;0de7 ed 79 . y
2216 call sub_034eh ;0dea cd 4e 03 . N .
2219 ld a,(de) ;0dee 1a .
2220 ld b,(hl) ;0def 46 F
2222 jr z,l0e10h ;0df1 28 1d ( .
2224 call out.hl.@ ;0df4 cd a4 01 . . .
2225 call outbl ;0df7 cd 9f 02 . . .
2227 call out_hex ;0dfb cd 18 02 . . .
2228 call outbl2 ;0dfe cd 9c 02 . . .
2230 call out_hex ;0e02 cd 18 02 . . .
2231 call outbl ;0e05 cd 9f 02 . . .
2233 call out.hl.@ ;0e09 cd a4 01 . . .
2235 call crlf ;0e0d cd a3 02 . . .
2243 jr nz,l0dedh ;0e16 20 d5 .
2247 ld a,(de) ;0e19 1a .
2248 cp 'V' ;0e1a fe 56 . V
2249 jr nz,l0e1fh ;0e1c 20 01 .
2253 call sub_034eh ;0e20 cd 4e 03 . N .
2257 call cp_hl_de ;0e26 cd ee 02 . . .
2258 jr nc,$+11 ;0e29 30 09 0 .
2259 add hl,bc ;0e2b 09 .
2261 add hl,bc ;0e2d 09 .
2265 lddr ;0e31 ed b8 . .
2266 ld bc,0b0edh ;0e33 01 ed b0 . . .
2271 jr z,l0dedh ;0e3a 28 b1 ( .
2275 call expr ;0e3d cd be 03 . . .
2276 jp c,p_max_high0 ;0e40 da 6f 11 . o .
2277 call next_arg ;0e43 cd ca 02 . . .
2279 call expr ;0e47 cd be 03 . . .
2281 call assert_eol ;0e4b cd d6 02 . . .
2285 jr c,l0e5eh ;0e51 38 0b 8 .
2288 add hl,de ;0e55 19 .
2289 call l0e5eh ;0e56 cd 5e 0e . ^ .
2293 sbc hl,de ;0e5c ed 52 . R
2295 call out_hl ;0e5e cd 13 02 . . .
2296 call outbl2 ;0e61 cd 9c 02 . . .
2297 call out_hl_neg ;0e64 cd 0a 02 . . .
2298 call outbl4 ;0e67 cd 99 02 . . .
2299 call out.hl.dec ;0e6a cd e7 01 . . .
2300 call outbl2 ;0e6d cd 9c 02 . . .
2301 call out_hl_dec_neg ;0e70 cd e2 01 . . .
2302 call outbl4 ;0e73 cd 99 02 . . .
2303 call out.bin.w ;0e76 cd c2 01 . . .
2304 call outbl2 ;0e79 cd 9c 02 . . .
2306 call out.ascii ;0e7d cd 34 02 . 4 .
2307 jp crlf ;0e80 c3 a3 02 . . .
2310 ld a,(de) ;0e84 1a .
2311 sub 'J' ;0e85 d6 4a . J
2312 ld (cmd_Q_jopt),a ;0e87 32 83 0e 2 . .
2313 jr nz,l0e8dh ;0e8a 20 01 .
2316 call get_arg_range ;0e8d cd 7d 03 . } .
2319 call sub_0ee6h ;0e92 cd e6 0e . . .
2322 call sub_0ed7h ;0e96 cd d7 0e . . .
2323 jr nz,l0eb0h ;0e99 20 15 .
2326 ld a,(cmd_Q_jopt) ;0e9d 3a 83 0e : . .
2328 jr nz,l0ea7h ;0ea1 20 04 .
2329 ld bc,-8 ;0ea3 01 f8 ff . . .
2330 add hl,bc ;0ea6 09 .
2332 ld bc,16 ;0ea7 01 10 00 . . .
2334 call sub_0f58h ;0eab cd 58 0f . X .
2339 ex (sp),hl ;0eb1 e3 .
2343 ex (sp),hl ;0eb5 e3 .
2344 jr nz,l0e96h ;0eb6 20 de .
2349 call get_arg_range ;0eba cd 7d 03 . } .
2352 call sub_0ee6h ;0ebf cd e6 0e . . .
2360 jp po,l0ed3h ;0ec9 e2 d3 0e . . .
2362 jr nz,l0ec7h ;0ecd 20 f8 .
2364 ldir ;0ed0 ed b0 . .
2371 push hl ;0ed7 e5 d5 . .
2375 ld a,(de) ;0eda 1a .
2377 jr nz,l0ee2h ;0edc 20 04 .
2380 djnz l0edah ;0ee0 10 f8 . .
2388 ld hl,conbuf+1 ;0ee6 21 6b 00 ! k .
2389 call sub_0ef7h ;0ee9 cd f7 0e . . .
2390 ld de,conbuf+1 ;0eec 11 6b 00 . k .
2392 sbc hl,de ;0ef0 ed 52 . R
2395 jp ERROR ;0ef4 c3 07 01 . . .
2398 db 0e6h ;0ef7 e6 and 037h (clear carry)
2403 call next_arg ;0efa cd ca 02 . . .
2404 cp 'W' ;0efd fe 57 . W
2405 jr nz,l0f0eh ;0eff 20 0d .
2408 call sub_035dh ;0f03 cd 5d 03 . ] .
2410 ex (sp),hl ;0f07 e3 .
2411 ld (hl),e ;0f08 73 s
2415 jr l0f1ah ;0f0c 18 0c . .
2417 cp '''' ;0f0e fe 27 . '
2418 jr z,l0f1eh ;0f10 28 0c ( .
2420 call expr ;0f13 cd be 03 . . .
2423 jr c,l0f42h ;0f18 38 28 8 (
2425 ld (hl),a ;0f1a 77 w
2427 jr l0f3ah ;0f1c 18 1c . .
2430 ld a,(de) ;0f1f 1a .
2431 cp '''' ;0f20 fe 27 . '
2432 jr z,l0f2bh ;0f22 28 07 ( .
2434 jr z,l0f42h ;0f25 28 1b ( .
2436 ld (hl),a ;0f27 77 w
2438 jr l0f1eh ;0f29 18 f3 . .
2441 ld a,(de) ;0f2c 1a .
2442 cp '''' ;0f2d fe 27 . '
2443 jr z,l0f27h ;0f2f 28 f6 ( .
2444 cp '.' ;0f31 fe 2e . .
2445 jr nz,l0f3ah ;0f33 20 05 .
2448 set 7,(hl) ;0f37 cb fe . .
2452 jr nc,l0ef9h ;0f3b 30 bc 0 .
2453 ld (last_S),hl ;0f3d 22 90 0d " . .
2454 jr l0ef9h ;0f40 18 b7 . .
2458 ld (last_S),hl ;0f44 22 90 0d " . .
2462 ld hl,cmd_D ;0f48 21 48 0f ! H .
2463 ld (cmd_rpt),hl ;0f4b 22 68 00 " h .
2464 ld hl,(last_D) ;0f4e 2a d5 0e * . .
2465 ld bc,128 ;0f51 01 80 00 . . .
2466 call sub_0377h ;0f54 cd 77 03 . w .
2472 ex af,af' ;0f5b 08 .
2474 call out.hl.@ ;0f5c cd a4 01 . . .
2475 call z,outbl2 ;0f5f cc 9c 02 . . .
2476 call outbl ;0f62 cd 9f 02 . . .
2477 ld de,0 ;0f65 11 00 00 . . .
2479 ld a,(hl) ;0f68 7e ~
2481 call out_hex ;0f6a cd 18 02 . . .
2482 call outbl ;0f6d cd 9f 02 . . .
2486 cp 010h ;0f73 fe 10 . .
2487 jr z,l0f80h ;0f75 28 09 ( .
2488 and 003h ;0f77 e6 03 . .
2489 call z,outbl ;0f79 cc 9f 02 . . .
2492 jr nz,l0f68h ;0f7e 20 e8 .
2494 call outbl ;0f80 cd 9f 02 . . .
2496 sbc hl,de ;0f84 ed 52 . R
2498 ld a,(hl) ;0f86 7e ~
2499 call sub_0fa3h ;0f87 cd a3 0f . . .
2500 call outchar ;0f8a cd 5d 02 . ] .
2503 jr nz,l0f86h ;0f8f 20 f5 .
2504 ex af,af' ;0f91 08 .
2505 jr nc,l0f97h ;0f92 30 03 0 .
2506 ld (last_D),hl ;0f94 22 d5 0e " . .
2508 ex af,af' ;0f97 08 .
2509 call crlf ;0f98 cd a3 02 . . .
2512 jr nz,l0f5ch ;0f9d 20 bd .
2519 and 07fh ;0fa3 e6 7f .
\7f
2520 cp 07fh ;0fa5 fe 7f .
\7f
2521 jr z,l0fach ;0fa7 28 03 ( .
2522 cp ' ' ;0fa9 fe 20 .
2525 ld a,'.' ;0fac 3e 2e > .
2558 call sub_102ch ;0fcd cd 2c 10 . , .
2561 ld b,(hl) ;0fd2 46 F
2563 ld a,(hl) ;0fd4 7e ~
2564 cp ':' ;0fd5 fe 3a . :
2565 jr nz,l0fe1h ;0fd7 20 08 .
2568 sub 040h ;0fdb d6 40 . @
2569 and 01fh ;0fdd e6 1f . .
2570 jr l0fe3h ;0fdf 18 02 . .
2575 ld (de),a ;0fe3 12 .
2577 ld b,8 ;0fe5 06 08 . .
2578 call sub_0ff2h ;0fe7 cd f2 0f . . .
2579 ld b,3 ;0fea 06 03 . .
2580 call sub_0ff2h ;0fec cd f2 0f . . .
2586 call sub_1012h ;0ff2 cd 12 10 . . .
2587 jr z,l0ffeh ;0ff5 28 07 ( .
2589 ld (de),a ;0ff8 12 .
2591 djnz sub_0ff2h ;0ffa 10 f6 . .
2592 jr l1003h ;0ffc 18 05 . .
2596 ld (de),a ;0fff 12 .
2598 djnz l0fffh ;1001 10 fc . .
2600 call sub_1012h ;1003 cd 12 10 . . .
2602 jr nz,l1003h ;1007 20 fa .
2603 cp '*' ;1009 fe 2a . *
2604 jr z,l1003h ;100b 28 f6 ( .
2605 cp '.' ;100d fe 2e . .
2611 ld a,(hl) ;1012 7e ~
2612 ld c,' ' ;1013 0e 20 .
2613 and 01fh ;1015 e6 1f . .
2615 ld a,(hl) ;1018 7e ~
2616 cp ' ' ;1019 fe 20 .
2618 call sub_1043h ;101c cd 43 10 . C .
2620 cp '/' ;1020 fe 2f . /
2622 cp '.' ;1023 fe 2e . .
2624 ld c,'?' ;1026 0e 3f . ?
2625 cp '*' ;1028 fe 2a . *
2631 ld a,(hl) ;102c 7e ~
2632 cp '/' ;102d fe 2f . /
2633 jr z,l103bh ;102f 28 0a ( .
2634 call sub_1043h ;1031 cd 43 10 . C .
2635 jr z,l102bh ;1034 28 f5 ( .
2637 cp ' ' ;1036 fe 20 .
2638 jr z,l102bh ;1038 28 f1 ( .
2642 ld a,(hl) ;103b 7e ~
2643 cp ' '+1 ;103c fe 21 . !
2644 jr c,l1036h ;103e 38 f6 8 .
2646 jr l103bh ;1041 18 f8 . .
2649 cp '=' ;1043 fe 3d . =
2651 cp '_' ;1046 fe 5f . _
2653 cp ',' ;1049 fe 2c . ,
2674 call setup_fcb ;106f cd 4c 10 . L .
2675 ld c,BDOS_OPEN ;1072 0e 0f . .
2676 call ddtz_bdos ;1074 cd 00 00 . . .
2678 jp z,ERROR ;1078 ca 07 01 . . .
2679 ld a,080h ;10a9 3e 80 > .
2680 ld (cmdR_rindex),a ;10ab 32 20 11 2 .
2684 ld a,(cmdR_rindex) ;1105 3a 20 11 : .
2685 cp 080h ;1108 fe 80 . .
2686 jr nz,l1111h ;110a 20 05 .
2687 call read_sector ;110c cd 21 11 . ! .
2692 ld (cmdR_rindex),a ;1112 32 20 11 2 .
2694 add a,07fh ;1116 c6 7f .
\7f
2696 ld h,000h ;1119 26 00 & .
2697 ld a,(hl) ;111b 7e ~
2699 cp 01ah ;111d fe 1a . .
2706 ld de,(cur_fcb) ;1124 11 5c 00 . \ .
2707 ld c,BDOS_READ ;1127 0e 14 . .
2708 call ddtz_bdos ;1129 cd 00 00 . . .
2710 jr z,l1132h ;112d 28 03 ( .
2711 jp p,ERROR ;112f f2 07 01 . . .
2721 ld de,TPA ;1138 11 00 01 . . .
2722 call cp_hl_de ;113b cd ee 02 . . .
2723 jp c,ERROR ;113e da 07 01 . . .
2724 ld de,(BDOS+1) ;1141 ed 5b 06 00 . [ . .
2725 call cp_hl_de ;1145 cd ee 02 . . .
2726 jp nc,ERROR ;1148 d2 07 01 . . .
2727 ld de,(high_load) ;114b ed 5b 9c 11 . [ . .
2728 call cp_hl_de ;114f cd ee 02 . . .
2729 jr c,l1157h ;1152 38 03 8 .
2730 ld (high_load),hl ;1154 22 9c 11 " . .
2732 ld de,(max_load) ;1157 ed 5b 9e 11 . [ . .
2733 call cp_hl_de ;115b cd ee 02 . . .
2734 jr c,l1163h ;115e 38 03 8 .
2735 ld (max_load),hl ;1160 22 9e 11 " . .
2739 ld (hl),a ;1165 77 w
2743 ld a,(de) ;1167 1a .
2748 djnz strncmp ;116c 10 f9 . .
2795 ld hl,0 ;1062 21 00 00 ! . .
2796 call get_lastarg_def ;1065 cd 69 03 . i .
2804 ld hl,0 ;1069 21 00 00 ! . .
2805 ld (high_load),hl ;106c 22 9c 11 " . .
2807 ld hl,dfcb1+9 ;107b 21 65 00 ! e .
2808 ld de,str_hex ;107e 11 a5 10 . . .
2809 ld b,3 ;1081 06 03 . .
2810 call strncmp ;1083 cd 67 11 . g .
2812 jr z,read_hexfile ;1087 28 1f ( .
2813 ld de,TPA ;1089 11 00 01 . . .
2814 add hl,de ;108c 19 .
2817 call read_sector ;108e cd 21 11 . ! .
2819 jr z,read_symfile ;1092 ca 72 11 . r .
2820 ld de,DMA_BUF ;1095 11 80 00 . . .
2821 ld b,080h ;1098 06 80 . .
2823 ld a,(de) ;109a 1a .
2824 call cmdR_storebyte ;109b cd 36 11 . 6 .
2827 djnz l109ah ;10a0 10 f8 . .
2829 jr l108eh ;10a3 18 e9 . .
2834 call read_byte ;10ae cd 05 11 . . .
2835 jr z,rdhex_done ;10b1 28 31 ( 1
2836 cp ':' ;10b3 fe 3a . :
2837 jr nz,l10aeh ;10b5 20 f7 .
2838 ld c,0 ;10b7 0e 00 . .
2839 call read_hexchar ;10b9 cd e8 10 . . .
2841 call read_hexchar ;10bd cd e8 10 . . .
2843 call read_hexchar ;10c1 cd e8 10 . . .
2847 jr z,rdhex_done ;10c7 28 1b ( .
2848 call read_hexchar ;10c9 cd e8 10 . . .
2850 call read_hexchar ;10cc cd e8 10 . . .
2854 add hl,de ;10d2 19 .
2855 call cmdR_storebyte ;10d3 cd 36 11 . 6 .
2858 djnz l10cch ;10d8 10 f2 . .
2859 call read_hexchar ;10da cd e8 10 . . .
2862 jr nz,error9 ;10df c2 07 01 . . .
2863 jr l10aeh ;10e2 18 ca . .
2866 jr read_symfile ;10e5 c3 72 11 . r .
2879 ;------------------------------------------------------------------------
2889 call read_hexbyte ; symval
2895 pop hl ; discard symval
2896 rs_3: call read_byte
2901 rs_4: ld hl,(BDOS+1) ;
2902 ld e,0 ; setup symlen
2919 rs_6: push de ; symlen
2955 ;------------------------------------------------------------------------
2958 call assert_eol ;116f cd d6 02 . . .
2960 ld hl,msg_high ;1172 21 8d 11 ! . .
2961 call pstr ;1175 cd 88 02 . . .
2962 ld hl,(high_load) ;1178 2a 9c 11 * . .
2963 call out_hl ;117b cd 13 02 . . .
2964 ld hl,msg_max ;117e 21 94 11 ! . .
2965 call pstr ;1181 cd 88 02 . . .
2966 ld hl,(max_load) ;1184 2a 9e 11 * . .
2967 call out_hl ;1187 cd 13 02 . . .
2968 jp crlf ;118a c3 a3 02 . . .
2971 db 'SYMBOLS',CR,LF+80h
2978 call get_arg_range ;11a0 cd 7d 03 . } .
2979 call assert_eol ;11a3 cd d6 02 . . .
2982 add a,07fh ;11a8 c6 7f .
\7f
2983 jr nc,l11adh ;11aa 30 01 0 .
2986 and 080h ;11ad e6 80 . .
2989 ld a,(dfcb1+1) ;11b1 3a 5d 00 : ] .
2990 cp ' ' ;11b4 fe 20 .
2991 jr z,error5 ;11b6 28 3b ( ;
2993 call setup_fcb ;11b8 cd 4c 10 . L .
2995 ld c,BDOS_DELETE ;11bc 0e 13 . .
2996 call ddtz_bdos ;11be cd 00 00 . . .
2998 ld c,BDOS_CREATE ;11c2 0e 16 . .
2999 call ddtz_bdos ;11c4 cd 00 00 . . .
3001 jr z,error5 ;11c8 28 29 ( )
3007 jr z,close_file ;11ce 28 26 ( &
3009 ld de,080h ;11d1 11 80 00 . . . DMA_BUF
3012 ldir ;11d6 ed b0 . .
3013 call write_sector ;11d8 cd e4 11 . . .
3014 ex (sp),hl ;11db e3 .
3015 ld bc,0ff80h ;11dc 01 80 ff . . .
3016 add hl,bc ;11df 09 .
3017 ex (sp),hl ;11e0 e3 .
3019 jr l11cch ;11e2 18 e8 . .
3023 ld de,dfcb1 ;11e5 11 5c 00 . \ .
3024 ld c,BDOS_WRITE ;11e8 0e 15 . .
3025 call ddtz_bdos ;11ea cd 00 00 . . .
3029 call close_file ;11f0 cd f6 11 . . .
3031 jp ERROR ;11f3 c3 07 01 . . .
3034 ld de,dfcb1 ;11f6 11 5c 00 . \ .
3035 ld c,BDOS_CLOSE ;11f9 0e 10 . .
3036 jp ddtz_bdos ;11fb c3 00 00 . . .
3039 ld hl,(last_A) ;11fe 2a 64 12 * d .
3040 call get_lastarg_def ;1201 cd 69 03 . i .
3042 pop iy ;1205 fd e1 . .
3043 ld hl,l1259h ;1207 21 59 12 ! Y .
3044 ld (CMD_ERR),hl ;120a 22 66 00 " f .
3045 ld (l1262h),sp ;120d ed 73 62 12 . s b .
3047 push iy ;1211 fd e5 . .
3049 ld (last_A),hl ;1214 22 64 12 " d .
3050 ld (l0062h),hl ;1217 22 62 00 " b .
3052 call p_disas_line ;121b cd 2d 19 . - .
3053 pop iy ;121e fd e1 . .
3055 ld de,(offs.@) ;1221 ed 5b 64 00 . [ d .
3058 ld b,011h ;1227 06 11 . .
3059 jr z,l122dh ;1229 28 02 ( .
3060 ld b,019h ;122b 06 19 . .
3062 call outbl ;122d cd 9f 02 . . .
3063 ld a,(con_col) ;1230 3a 72 02 : r .
3065 jr c,l122dh ;1234 38 f7 8 .
3067 call get_line ;1237 cd 4e 01 . N .
3069 call skipbl ;123b cd bf 02 . . .
3070 cp '.' ;123e fe 2e . .
3072 cp '-' ;1241 fe 2d . -
3073 jr nz,l124bh ;1243 20 06 .
3074 ld iy,(cmd_A_prev) ;1245 fd 2a 66 12 . * f .
3075 jr l1211h ;1249 18 c6 . .
3078 call nz,sub_1268h ;124c c4 68 12 . h .
3079 ld (cmd_A_prev),iy ;124f fd 22 66 12 . " f .
3080 ld b,0 ;1253 06 00 . .
3081 add iy,bc ;1255 fd 09 . .
3082 jr l1211h ;1257 18 b8 . .
3084 call l0146h ;1259 cd 46 01 . F .
3085 ld sp,(l1262h) ;125c ed 7b 62 12 . { b .
3086 jr l1211h ;1260 18 af . .
3089 call skipbl ;1268 cd bf 02 . . .
3090 ld hl,t_MNEMONICS ;126b 21 c6 1e ! . .
3091 call sub_030ah ;126e cd 0a 03 . . .
3092 jp nc,ERROR ;1271 d2 07 01 . . .
3093 call skipbl ;1274 cd bf 02 . . .
3098 ld hl,b_1289_start ;127b 21 89 12 ! . .
3099 call add_hl_a ;127e cd b9 02 . . .
3100 ld e,(hl) ;1281 5e ^
3102 ld d,(hl) ;1283 56 V
3104 ld b,(hl) ;1285 46 F
3112 dw as.ADC_SBC ;ADC 1289 51 15 Q .
3114 dw as.ADD ;ADD 128c 71 15 q .
3116 dw as.AND_CP_OR_SUB_XOR ;AND 128f a8 15 . .
3118 dw as.BITOP ;BIT 1292 09 16 . .
3120 dw as.CALL ;CALL 1295 2d 16 - .
3122 dw as.opc.noarg ;CCF 1298 3b 15 ; .
3124 dw as.AND_CP_OR_SUB_XOR ;CP 129b a8 15 . .
3126 dw gen.opc.ED2 ;CPD 129e 44 15 D .
3128 dw gen.opc.ED2 ;CPDR 12a1 44 15 D .
3130 dw gen.opc.ED2 ;CPI 12a4 44 15 D .
3132 dw gen.opc.ED2 ;CPIR 12a7 44 15 D .
3134 dw as.opc.noarg ;CPL 12aa 3b 15 ; .
3136 dw as.opc.noarg ;DAA 12ad 3b 15 ; .
3138 dw as.DEC_INC ;DEC 12b0 98 17 . .
3140 dw as.opc.noarg ;DI 12b3 3b 15 ; .
3142 dw as.DJNZ ;DJNZ 12b6 99 16 . .
3144 dw as.opc.noarg ;EI 12b9 3b 15 ; .
3146 dw as.EX ;EX 12bc 49 17 I .
3148 dw as.opc.noarg ;EXX 12bf 3b 15 ; .
3150 dw as.opc.noarg ;HALT 12c2 3b 15 ; .
3152 dw as.IM ;IM 12c5 b4 16 . .
3154 dw as.IN ;IN 12c8 ed 16 . .
3156 dw as.DEC_INC ;INC 12cb 98 17 . .
3158 dw gen.opc.ED2 ;IND 12ce 44 15 D .
3160 dw gen.opc.ED2 ;INDR 12d1 44 15 D .
3162 dw gen.opc.ED2 ;INI 12d4 44 15 D .
3164 dw gen.opc.ED2 ;INIR 12d7 44 15 D .
3166 dw as.JP ;JP 12da 53 16 S .
3168 dw as.JR ;JR 12dd a0 16 . .
3170 dw as.LD ;LD 12e0 52 13 R .
3172 dw gen.opc.ED2 ;LDD 12e3 44 15 D .
3174 dw gen.opc.ED2 ;LDDR 12e6 44 15 D .
3176 dw gen.opc.ED2 ;LDI 12e9 44 15 D .
3178 dw gen.opc.ED2 ;LDIR 12ec 44 15 D .
3180 dw gen.opc.ED2 ;NEG 12ef 44 15 D .
3182 dw as.opc.noarg ;NOP 12f2 3b 15 ; .
3184 dw as.AND_CP_OR_SUB_XOR ;OR 12f5 a8 15 . .
3186 dw gen.opc.ED2 ;OTDR 12f8 44 15 D .
3188 dw gen.opc.ED2 ;OTIR 12fb 44 15 D .
3190 dw as.OUT ;OUT 12fe 21 17 ! .
3192 dw gen.opc.ED2 ;OUTD 1301 44 15 D .
3194 dw gen.opc.ED2 ;OUTI 1304 44 15 D .
3196 dw as.POP_PUSH ;POP 1307 d9 16 . .
3198 dw as.POP_PUSH ;PUSH 130a d9 16 . .
3200 dw as.BITOP ;RES 130d 09 16 . .
3202 dw as.RET ;RET 1310 45 16 E .
3204 dw gen.opc.ED2 ;RETI 1313 44 15 D .
3206 dw gen.opc.ED2 ;RETN 1316 44 15 D .
3208 dw as.SHIFTOP ;RL 1319 d5 15 . .
3210 dw as.opc.noarg ;RLA 131c 3b 15 ; .
3212 dw as.SHIFTOP ;RLC 131f d5 15 . .
3214 dw as.opc.noarg ;RLCA 1322 3b 15 ; .
3216 dw gen.opc.ED2 ;RLD 1325 44 15 D .
3218 dw as.SHIFTOP ;RR 1328 d5 15 . .
3220 dw as.opc.noarg ;RRA 132b 3b 15 ; .
3222 dw as.SHIFTOP ;RRC 132e d5 15 . .
3224 dw as.opc.noarg ;RRCA 1331 3b 15 ; .
3226 dw gen.opc.ED2 ;RRD 1334 44 15 D .
3228 dw as.RST ;RST 1337 ca 16 . .
3230 dw as.ADC_SBC ;SBC 133a 51 15 Q .
3232 dw as.opc.noarg ;SCF 133d 3b 15 ; .
3234 dw as.BITOP ;SET 1340 09 16 . .
3236 dw as.SHIFTOP ;SLA 1343 d5 15 . .
3238 dw as.SHIFTOP ;SRA 1346 d5 15 . .
3240 dw as.SHIFTOP ;SRL 1349 d5 15 . .
3242 dw as.AND_CP_OR_SUB_XOR ;SUB 134c a8 15 . .
3244 dw as.AND_CP_OR_SUB_XOR ;XOR 134f a8 15 . .
3251 dw gen.opc.ED2 ;OTDM
3253 dw gen.opc.ED2 ;OTDMR
3255 dw gen.opc.ED2 ;OTIM
3257 dw gen.opc.ED2 ;OTIMR
3294 call arg.addr_8bit ;
3298 call arg.addr_8bit ;
3329 call arg.r_HL_A ;1352 cd 2e 18 . . .
3330 jr c,l13d4h ;1355 38 7d 8 }
3331 call arg.IDX_displcmnt ;1357 cd 55 18 . U .
3332 jp c,l1471h ;135a da 71 14 . q .
3333 call arg.ww ;135d cd 1b 18 . . .
3334 jp c,l149ch ;1360 da 9c 14 . . .
3335 call arg.IX_IY ;1363 cd 3d 18 . = .
3336 jp c,l14f5h ;1366 da f5 14 . . .
3337 ld a,(de) ;1369 1a .
3338 cp 'I' ;136a fe 49 . I
3339 jp z,l1511h ;136c ca 11 15 . . .
3340 cp 'R' ;136f fe 52 . R
3341 jp z,l1519h ;1371 ca 19 15 . . .
3342 cp '(' ;1374 fe 28 . (
3343 jp nz,ERROR ;1376 c2 07 01 . . .
3345 call arg.ww ;137a cd 1b 18 . . .
3346 jp c,l1528h ;137d da 28 15 . ( .
3347 call test_expr ;1380 cd 09 18 . . .
3348 call test_paren_close ;1383 cd c5 18 . . .
3349 call assert_comma ;1386 cd be 18 . . .
3350 call arg.ww ;1389 cd 1b 18 . . .
3351 jr c,l13c2h ;138c 38 34 8 4
3352 call arg.IX_IY ;138e cd 3d 18 . = .
3353 jr nc,l13aah ;1391 30 17 0 .
3354 ld b,022h ;1393 06 22 . "
3356 call assert_eol ;1395 cd d6 02 . . .
3357 ld a,(prefix_ixiy) ;1398 3a cc 18 : . .
3359 ld (iy+000h),a ;139b fd 77 00 . w .
3360 ld (iy+001h),b ;139e fd 70 01 . p .
3361 ld (iy+002h),l ;13a1 fd 75 02 . u .
3362 ld (iy+003h),h ;13a4 fd 74 03 . t .
3363 ld c,004h ;13a7 0e 04 . .
3366 ld a,(de) ;13aa 1a .
3367 cp 'A' ;13ab fe 41 . A
3368 jp nz,ERROR ;13ad c2 07 01 . . .
3370 ld b,032h ;13b1 06 32 . 2
3372 call assert_eol ;13b3 cd d6 02 . . .
3373 ld (iy+000h),b ;13b6 fd 70 00 . p .
3374 ld (iy+001h),l ;13b9 fd 75 01 . u .
3375 ld (iy+002h),h ;13bc fd 74 02 . t .
3376 ld c,003h ;13bf 0e 03 . .
3379 cp 020h ;13c2 fe 20 .
3380 jr z,l13d0h ;13c4 28 0a ( .
3381 add a,043h ;13c6 c6 43 . C
3384 call assert_eol ;13c9 cd d6 02 . . .
3385 ld a,0edh ;13cc 3e ed > .
3386 jr l139bh ;13ce 18 cb . .
3388 ld b,022h ;13d0 06 22 . "
3389 jr as.store_3 ;13d2 18 df . .
3392 call assert_comma ;13d5 cd be 18 . . .
3393 call arg.r_HL_A ;13d8 cd 2e 18 . . .
3394 jr nc,l13f0h ;13db 30 13 0 .
3403 add a,040h ;13e5 c6 40 . @
3404 cp 076h ;13e7 fe 76 . v
3405 jp z,ERROR ;13e9 ca 07 01 . . .
3408 jp as.opc.noarg ;13ed c3 3b 15 . ; .
3410 call arg.IDX_displcmnt ;13f0 cd 55 18 . U .
3411 jr nc,l1413h ;13f3 30 1e 0 .
3416 add a,046h ;13f9 c6 46 . F
3417 cp 076h ;13fb fe 76 . v
3418 jp z,ERROR ;13fd ca 07 01 . . .
3422 call assert_eol ;1401 cd d6 02 . . .
3423 ld (iy+001h),b ;1404 fd 70 01 . p .
3424 ld (iy+002h),c ;1407 fd 71 02 . q .
3425 ld a,(prefix_ixiy) ;140a 3a cc 18 : . .
3426 ld (iy+000h),a ;140d fd 77 00 . w .
3427 ld c,003h ;1410 0e 03 . .
3430 ld a,(de) ;1413 1a .
3431 cp 'I' ;1414 fe 49 . I
3432 jr z,l1426h ;1416 28 0e ( .
3433 cp 'R' ;1418 fe 52 . R
3434 jr nz,l1432h ;141a 20 16 .
3436 cp 007h ;141d fe 07 . .
3437 jp nz,ERROR ;141f c2 07 01 . . .
3438 ld b,05fh ;1422 06 5f . _
3439 jr l142eh ;1424 18 08 . .
3442 cp 007h ;1427 fe 07 . .
3443 jp nz,ERROR ;1429 c2 07 01 . . .
3444 ld b,057h ;142c 06 57 . W
3447 jp gen.opc.ED2 ;142f c3 44 15 . D .
3449 cp '(' ;1432 fe 28 . (
3450 jr z,l144ch ;1434 28 16 ( .
3451 call arg.imm_8bit ;1436 cd ff 17 . . .
3456 add a,006h ;143d c6 06 . .
3460 call assert_eol ;1440 cd d6 02 . . .
3461 ld (iy+000h),b ;1443 fd 70 00 . p .
3462 ld (iy+001h),l ;1446 fd 75 01 . u .
3463 ld c,002h ;1449 0e 02 . .
3468 cp 007h ;144e fe 07 . .
3469 jp nz,ERROR ;1450 c2 07 01 . . .
3470 call arg.ww ;1453 cd 1b 18 . . .
3471 jr nc,l1466h ;1456 30 0e 0 .
3472 cp 030h ;1458 fe 30 . 0
3473 jp nc,ERROR ;145a d2 07 01 . . .
3474 add a,00ah ;145d c6 0a . .
3476 call test_paren_close ;1460 cd c5 18 . . .
3477 jp as.opc.noarg ;1463 c3 3b 15 . ; .
3479 call test_expr ;1466 cd 09 18 . . .
3480 call test_paren_close ;1469 cd c5 18 . . .
3481 ld b,03ah ;146c 06 3a . :
3482 jp as.store_3 ;146e c3 b3 13 . . .
3485 call assert_comma ;1471 cd be 18 . . .
3486 call arg.r_HL_A ;1474 cd 2e 18 . . .
3487 jr nc,l1483h ;1477 30 0a 0 .
3488 cp 006h ;1479 fe 06 . .
3489 jp z,ERROR ;147b ca 07 01 . . .
3490 add a,070h ;147e c6 70 . p
3491 jp l1400h ;1480 c3 00 14 . . .
3494 call arg.imm_8bit ;1483 cd ff 17 . . .
3495 call assert_eol ;1486 cd d6 02 . . .
3496 ld a,(prefix_ixiy) ;1489 3a cc 18 : . .
3497 ld (iy+000h),a ;148c fd 77 00 . w .
3498 ld (iy+001h),036h ;148f fd 36 01 36 . 6 . 6
3499 ld (iy+002h),c ;1493 fd 71 02 . q .
3500 ld (iy+003h),l ;1496 fd 75 03 . u .
3501 ld c,004h ;1499 0e 04 . .
3505 call assert_comma ;149d cd be 18 . . .
3506 ld hl,t_HL.AF ;14a0 21 af 1f ! . .
3507 call sub_0318h ;14a3 cd 18 03 . . .
3508 jr c,l14c3h ;14a6 38 1b 8 .
3509 call arg.IX_IY ;14a8 cd 3d 18 . = .
3510 jr nc,l14cch ;14ab 30 1f 0 .
3512 cp 030h ;14ae fe 30 . 0
3513 jr nz,error6 ;14b0 20 73 s
3514 ld b,0f9h ;14b2 06 f9 . .
3516 call assert_eol ;14b4 cd d6 02 . . .
3517 ld a,(prefix_ixiy) ;14b7 3a cc 18 : . .
3518 ld (iy+000h),a ;14ba fd 77 00 . w .
3519 ld (iy+001h),b ;14bd fd 70 01 . p .
3520 ld c,002h ;14c0 0e 02 . .
3524 cp 030h ;14c4 fe 30 . 0
3525 jr nz,error6 ;14c6 20 5d ]
3526 ld b,0f9h ;14c8 06 f9 . .
3527 jr as.opc.noarg ;14ca 18 6f . o
3529 ld a,(de) ;14cc 1a .
3530 cp '(' ;14cd fe 28 . (
3531 jr nz,l14e8h ;14cf 20 17 .
3533 call test_expr ;14d2 cd 09 18 . . .
3534 call test_paren_close ;14d5 cd c5 18 . . .
3536 cp 020h ;14d9 fe 20 .
3537 jr z,l14e3h ;14db 28 06 ( .
3538 add a,04bh ;14dd c6 4b . K
3540 jp l13c9h ;14e0 c3 c9 13 . . .
3542 ld b,02ah ;14e3 06 2a . *
3543 jp as.store_3 ;14e5 c3 b3 13 . . .
3545 call test_expr ;14e8 cd 09 18 . . .
3546 call assert_eol ;14eb cd d6 02 . . .
3547 ld a,001h ;14ee 3e 01 > .
3550 jp as.store_3 ;14f2 c3 b3 13 . . .
3552 call assert_comma ;14f5 cd be 18 . . .
3553 ld a,(de) ;14f8 1a .
3554 cp '(' ;14f9 fe 28 . (
3555 jr nz,l1509h ;14fb 20 0c .
3557 call test_expr ;14fe cd 09 18 . . .
3558 call test_paren_close ;1501 cd c5 18 . . .
3559 ld b,02ah ;1504 06 2a . *
3560 jp l1395h ;1506 c3 95 13 . . .
3562 call test_expr ;1509 cd 09 18 . . .
3563 ld b,021h ;150c 06 21 . !
3564 jp l1395h ;150e c3 95 13 . . .
3567 call assert_comma ;1512 cd be 18 . . .
3568 ld b,047h ;1515 06 47 . G
3569 jr l151fh ;1517 18 06 . .
3572 call assert_comma ;151a cd be 18 . . .
3573 ld b,04fh ;151d 06 4f . O
3575 ld a,(de) ;151f 1a .
3577 cp 'A' ;1521 fe 41 . A
3578 jr z,gen.opc.ED2 ;1523 28 1f ( .
3580 jp ERROR ;1525 c3 07 01 . . .
3583 cp 020h ;1528 fe 20 .
3584 jr nc,error6 ;152a 30 f9 0 .
3585 add a,002h ;152c c6 02 . .
3587 call test_paren_close ;152f cd c5 18 . . .
3588 call assert_comma ;1532 cd be 18 . . .
3589 ld a,(de) ;1535 1a .
3590 cp 'A' ;1536 fe 41 . A
3591 jr nz,error6 ;1538 20 eb .
3594 call assert_eol ;153b cd d6 02 . . .
3595 ld (iy+000h),b ;153e fd 70 00 . p .
3596 ld c,001h ;1541 0e 01 . .
3600 call assert_eol ;1544 cd d6 02 . . .
3601 ld (iy+000h),0edh ;1547 fd 36 00 ed . 6 . .
3602 ld (iy+001h),b ;154b fd 70 01 . p .
3603 ld c,002h ;154e 0e 02 . .
3607 ld hl,t_HL.AF ;1551 21 af 1f ! . .
3608 call sub_0318h ;1554 cd 18 03 . . .
3609 jr nc,as.AND_CP_OR_SUB_XOR ;1557 30 4f 0 O
3610 call assert_comma ;1559 cd be 18 . . .
3611 call arg.ww ;155c cd 1b 18 . . .
3612 jp nc,ERROR ;155f d2 07 01 . . .
3615 cp 088h ;1564 fe 88 . .
3616 ld b,04ah ;1566 06 4a . J
3617 jr z,l156ch ;1568 28 02 ( .
3618 ld b,042h ;156a 06 42 . B
3624 jr gen.opc.ED2 ;156f 18 d3 . .
3626 ld hl,t_HL.AF ;1571 21 af 1f ! . .
3627 call sub_0318h ;1574 cd 18 03 . . .
3628 jr c,l159ah ;1577 38 21 8 !
3629 call arg.IX_IY ;1579 cd 3d 18 . = .
3630 jr nc,as.AND_CP_OR_SUB_XOR ;157c 30 2a 0 *
3631 call assert_comma ;157e cd be 18 . . .
3632 ld hl,t_BC.DE.IX.SP ;1581 21 bd 1f ! . .
3633 ld a,(prefix_ixiy) ;1584 3a cc 18 : . .
3634 cp 0fdh ;1587 fe fd . .
3635 jr nz,l158eh ;1589 20 03 .
3636 ld hl,t_BC.DE.IY.SP ;158b 21 b4 1f ! . .
3638 call arg.reg_16bit ;158e cd 18 18 . . .
3639 jp nc,ERROR ;1591 d2 07 01 . . .
3640 add a,009h ;1594 c6 09 . .
3643 jp l14b4h ;1597 c3 b4 14 . . .
3645 call assert_comma ;159a cd be 18 . . .
3646 call arg.ww ;159d cd 1b 18 . . .
3647 jp nc,ERROR ;15a0 d2 07 01 . . .
3648 add a,009h ;15a3 c6 09 . .
3649 jp l13ech ;15a5 c3 ec 13 . . .
3650 as.AND_CP_OR_SUB_XOR:
3651 ld a,(de) ;15a8 1a .
3652 cp 'A' ;15a9 fe 41 . A
3653 jr nz,l15b8h ;15ab 20 0b .
3656 call next_arg ;15af cd ca 02 . . .
3657 jr z,l15b7h ;15b2 28 03 ( .
3659 jr l15b8h ;15b5 18 01 . .
3663 call arg.r_HL_A ;15b8 cd 2e 18 . . .
3664 jr c,l15cbh ;15bb 38 0e 8 .
3665 call arg.IDX_displcmnt ;15bd cd 55 18 . U .
3666 jr c,l15cfh ;15c0 38 0d 8 .
3667 call arg.imm_8bit ;15c2 cd ff 17 . . .
3669 add a,046h ;15c6 c6 46 . F
3670 jp l143fh ;15c8 c3 3f 14 . ? .
3673 jp l13ech ;15cc c3 ec 13 . . .
3676 add a,006h ;15d0 c6 06 . .
3677 jp l1400h ;15d2 c3 00 14 . . .
3680 call arg.r_HL_A ;15d5 cd 2e 18 . . .
3681 jr c,l15fah ;15d8 38 20 8
3682 call arg.IDX_displcmnt ;15da cd 55 18 . U .
3683 jp nc,ERROR ;15dd d2 07 01 . . .
3685 add a,006h ;15e1 c6 06 . .
3688 call assert_eol ;15e4 cd d6 02 . . .
3689 ld a,(prefix_ixiy) ;15e7 3a cc 18 : . .
3690 ld (iy+000h),a ;15ea fd 77 00 . w .
3691 ld (iy+001h),0cbh ;15ed fd 36 01 cb . 6 . .
3692 ld (iy+002h),c ;15f1 fd 71 02 . q .
3693 ld (iy+003h),b ;15f4 fd 70 03 . p .
3694 ld c,004h ;15f7 0e 04 . .
3701 call assert_eol ;15fc cd d6 02 . . .
3702 ld (iy+001h),b ;15ff fd 70 01 . p .
3703 ld (iy+000h),0cbh ;1602 fd 36 00 cb . 6 . .
3704 ld c,002h ;1606 0e 02 . .
3708 call arg.bit ;1609 cd d3 17 . . .
3709 call assert_comma ;160c cd be 18 . . .
3710 call arg.r_HL_A ;160f cd 2e 18 . . .
3711 jr c,l1624h ;1612 38 10 8 .
3712 call arg.IDX_displcmnt ;1614 cd 55 18 . U .
3713 jp nc,ERROR ;1617 d2 07 01 . . .
3718 add a,006h ;161e c6 06 . .
3721 jr l15e4h ;1622 18 c0 . .
3730 jr l15fbh ;162b 18 ce . .
3734 call arg.cc_ZCPS ;162e cd a5 18 . . .
3735 jr nc,l163ch ;1631 30 09 0 .
3738 call next_arg ;1635 cd ca 02 . . .
3739 jr z,l163eh ;1638 28 04 ( .
3743 ld b,0cdh ;163c 06 cd . .
3746 call test_expr ;163f cd 09 18 . . .
3747 jp as.store_3 ;1642 c3 b3 13 . . .
3750 call arg.cc_ZCPS ;1645 cd a5 18 . . .
3751 jr nc,l164eh ;1648 30 04 0 .
3754 jr l1650h ;164c 18 02 . .
3756 ld b,0c9h ;164e 06 c9 . .
3758 jp as.opc.noarg ;1650 c3 3b 15 . ; .
3762 call arg.cc_ZCPS ;1654 cd a5 18 . . .
3763 jr c,l1666h ;1657 38 0d 8 .
3766 ld hl,l168ch ;165a 21 8c 16 ! . .
3767 call sub_030ah ;165d cd 0a 03 . . .
3768 jr c,l1674h ;1660 38 12 8 .
3769 ld b,0c3h ;1662 06 c3 . .
3770 jr l166eh ;1664 18 08 . .
3775 call next_arg ;1668 cd ca 02 . . .
3776 jr nz,l1659h ;166b 20 ec .
3779 call test_expr ;166e cd 09 18 . . .
3780 jp as.store_3 ;1671 c3 b3 13 . . .
3782 call assert_eol ;1674 cd d6 02 . . .
3785 jr nz,l1680h ;1679 20 05 .
3786 ld b,0e9h ;167b 06 e9 . .
3787 jp as.opc.noarg ;167d c3 3b 15 . ; .
3789 ld b,0ddh ;1680 06 dd . .
3791 jr z,l1687h ;1683 28 02 ( .
3792 ld b,0fdh ;1685 06 fd . .
3794 ld l,0e9h ;1687 2e e9 . .
3795 jp as.store_2 ;1689 c3 40 14 . @ .
3804 call next_arg ;1699 cd ca 02 . . .
3805 ld b,010h ;169c 06 10 . .
3806 jr l16aeh ;169e 18 0e . .
3808 call arg.cc_ZC ;16a0 cd ac 18 . . .
3809 jr c,l16a9h ;16a3 38 04 8 .
3810 ld b,018h ;16a5 06 18 . .
3811 jr l16aeh ;16a7 18 05 . .
3815 call assert_comma ;16ab cd be 18 . . .
3817 call arg.j_displ ;16ae cd dc 17 . . .
3818 jp as.store_2 ;16b1 c3 40 14 . @ .
3821 call arg.imm_8bit ;16b4 cd ff 17 . . .
3823 cp 003h ;16b8 fe 03 . .
3824 jr nc,error2 ;16ba 30 5c 0 \
3826 jr z,l16c7h ;16bd 28 08 ( .
3827 ld b,056h ;16bf 06 56 . V
3828 cp 001h ;16c1 fe 01 . .
3829 jr z,l16c7h ;16c3 28 02 ( .
3830 ld b,05eh ;16c5 06 5e . ^
3832 jp gen.opc.ED2 ;16c7 c3 44 15 . D .
3835 call arg.imm_8bit ;16ca cd ff 17 . . .
3841 and 0c7h ;16d2 e6 c7 . .
3842 jr nz,error2 ;16d4 20 42 B
3843 jp as.opc.noarg ;16d6 c3 3b 15 . ; .
3846 call arg.IX_IY ;16d9 cd 3d 18 . = .
3847 jr c,l16e7h ;16dc 38 09 8 .
3848 call arg.zz ;16de cd 12 18 . . .
3849 jr nc,error2 ;16e1 30 35 0 5
3851 jp l13ech ;16e4 c3 ec 13 . . .
3854 add a,020h ;16e8 c6 20 .
3855 jp l1596h ;16ea c3 96 15 . . .
3858 call arg.r_HL_A ;16ed cd 2e 18 . . .
3859 jr nc,error2 ;16f0 30 26 0 &
3860 cp 006h ;16f2 fe 06 . .
3861 jr z,error2 ;16f4 28 22 ( "
3867 cp 078h ;16fb fe 78 . x
3868 jr nz,l170fh ;16fd 20 10 .
3869 call assert_comma ;16ff cd be 18 . . .
3870 call sub_171bh ;1702 cd 1b 17 . . .
3871 jr c,l1715h ;1705 38 0e 8 .
3872 call arg.addr_8bit ;1707 cd f3 17 . . .
3873 ld b,0dbh ;170a 06 db . .
3874 jp as.store_2 ;170c c3 40 14 . @ .
3876 call assert_comma ;170f cd be 18 . . .
3877 call sub_171bh ;1712 cd 1b 17 . . .
3879 jp c,gen.opc.ED2 ;1715 da 44 15 . D .
3881 jp ERROR ;1718 c3 07 01 . . .
3884 ld hl,t__C_ ;171b 21 f4 1f ! . .
3885 jp sub_0318h ;171e c3 18 03 . . .
3888 call sub_171bh ;1721 cd 1b 17 . . .
3889 jr nc,l1739h ;1724 30 13 0 .
3890 call assert_comma ;1726 cd be 18 . . .
3891 call arg.r_HL_A ;1729 cd 2e 18 . . .
3892 jr nc,error2 ;172c 30 ea 0 .
3893 cp 006h ;172e fe 06 . .
3894 jr z,error2 ;1730 28 e6 ( .
3899 jp l156eh ;1736 c3 6e 15 . n .
3902 call arg.addr_8bit ;1739 cd f3 17 . . .
3903 call assert_comma ;173c cd be 18 . . .
3904 cp 'A' ;173f fe 41 . A
3905 jr nz,error2 ;1741 20 d5 .
3907 ld b,0d3h ;1744 06 d3 . .
3908 jp as.store_2 ;1746 c3 40 14 . @ .
3911 ld hl,b_176d_start ;1749 21 6d 17 ! m .
3912 call sub_030ah ;174c cd 0a 03 . . .
3913 jp nc,ERROR ;174f d2 07 01 . . .
3915 call assert_eol ;1753 cd d6 02 . . .
3916 ld b,000h ;1756 06 00 . .
3917 ld hl,l178eh ;1758 21 8e 17 ! . .
3918 add hl,bc ;175b 09 .
3919 add hl,bc ;175c 09 .
3920 ld a,(hl) ;175d 7e ~
3921 ld (iy+000h),a ;175e fd 77 00 . w .
3922 ld c,001h ;1761 0e 01 . .
3924 ld a,(hl) ;1764 7e ~
3927 ld (iy+001h),a ;1767 fd 77 01 . w .
3928 ld c,002h ;176a 0e 02 . .
3940 db 008h,000h ;178e 08 .
3941 db 0ebh,000h ;1790 eb .
3942 db 0e3h,000h ;1792 e3 .
3943 db 0ddh,0e3h ;1794 dd .
3944 db 0fdh,0e3h ;1796 fd .
3947 call arg.IX_IY ;1798 cd 3d 18 . = .
3948 jr c,l17b3h ;179b 38 16 8 .
3949 call arg.ww ;179d cd 1b 18 . . .
3950 jr c,l17bfh ;17a0 38 1d 8 .
3951 call arg.r_HL_A ;17a2 cd 2e 18 . . .
3952 jr c,l17cch ;17a5 38 25 8 %
3953 call arg.IDX_displcmnt ;17a7 cd 55 18 . U .
3954 jp nc,ERROR ;17aa d2 07 01 . . .
3956 add a,030h ;17ae c6 30 . 0
3957 jp l1400h ;17b0 c3 00 14 . . .
3960 ld b,023h ;17b4 06 23 . #
3961 cp 004h ;17b6 fe 04 . .
3962 jr z,l17bch ;17b8 28 02 ( .
3963 ld b,02bh ;17ba 06 2b . +
3965 jp l14b4h ;17bc c3 b4 14 . . .
3969 ld b,003h ;17c1 06 03 . .
3970 cp 004h ;17c3 fe 04 . .
3971 jr z,l17c9h ;17c5 28 02 ( .
3972 ld b,00bh ;17c7 06 0b . .
3975 jr l17cfh ;17ca 18 03 . .
3982 jp l13ech ;17d0 c3 ec 13 . . .
3985 call arg.imm_8bit ;17d3 cd ff 17 . . .
3987 cp 008h ;17d7 fe 08 . .
3988 jr nc,error3 ;17d9 30 34 0 4
3992 call test_expr ;17dc cd 09 18 . . .
3994 push iy ;17e0 fd e5 . .
3997 sbc hl,bc ;17e4 ed 42 . B
4001 call sub_1802h ;17e9 cd 02 18 . . .
4004 bit 7,a ;17ee cb 7f .
\7f
4005 jr nz,error3 ;17f0 20 1d .
4009 ld a,(de) ;17f3 1a .
4010 cp '(' ;17f4 fe 28 . (
4011 jr nz,arg.imm_8bit ;17f6 20 07 .
4013 call arg.imm_8bit ;17f9 cd ff 17 . . .
4014 jp test_paren_close ;17fc c3 c5 18 . . .
4017 call test_expr ;17ff cd 09 18 . . .
4024 jr error3 ;1807 18 06 . .
4028 call expr ;180a cd be 03 . . .
4032 jp ERROR ;180f c3 07 01 . . .
4036 ld hl,t_BC.DE.HL.AF ;1813 21 ab 1f ! . .
4037 jr l181fh ;1816 18 07 . .
4041 jr l181fh ;1819 18 04 . .
4045 ld hl,t_BC.DE.HL.SP ;181c 21 a2 1f ! . .
4048 call sub_030ah ;1820 cd 0a 03 . . .
4049 jr nc,l182bh ;1823 30 06 0 .
4062 call skipbl ;182e cd bf 02 . . .
4065 ld hl,t_BCDEHL_HL_A ;1833 21 96 1f ! . .
4066 call sub_030ah ;1836 cd 0a 03 . . .
4075 ld hl,t_IX.IY ;183f 21 c8 1f ! . .
4076 call sub_030ah ;1842 cd 0a 03 . . .
4077 jr nc,l1852h ;1845 30 0b 0 .
4078 ld a,0ddh ;1847 3e dd > .
4080 jr nz,l184eh ;184a 20 02 .
4081 ld a,0fdh ;184c 3e fd > .
4083 ld (prefix_ixiy),a ;184e 32 cc 18 2 . .
4093 ld a,(de) ;1857 1a .
4094 cp '(' ;1858 fe 28 . (
4095 jr nz,l18a1h ;185a 20 45 E
4098 ld hl,t_IX.IY ;185e 21 c8 1f ! . .
4099 call sub_030ah ;1861 cd 0a 03 . . .
4100 jr nc,l18a0h ;1864 30 3a 0 :
4102 ld a,0ddh ;1867 3e dd > .
4104 jr nz,l186eh ;186a 20 02 .
4105 ld a,0fdh ;186c 3e fd > .
4107 ld (prefix_ixiy),a ;186e 32 cc 18 2 . .
4108 ld a,(de) ;1871 1a .
4109 cp '+' ;1872 fe 2b . +
4110 jr z,l1882h ;1874 28 0c ( .
4111 cp ')' ;1876 fe 29 . )
4112 ld hl,0 ;1878 21 00 00 ! . .
4113 jr z,l189ah ;187b 28 1d ( .
4114 cp '-' ;187d fe 2d . -
4115 jp nz,ERROR ;187f c2 07 01 . . .
4119 call arg.imm_8bit ;1884 cd ff 17 . . .
4121 cp '+' ;1888 fe 2b . +
4122 jr z,l1894h ;188a 28 08 ( .
4125 ld hl,0 ;188e 21 00 00 ! . .
4127 sbc hl,bc ;1892 ed 42 . B
4129 ld a,(de) ;1894 1a .
4130 cp ')' ;1895 fe 29 . )
4131 jp nz,ERROR ;1897 c2 07 01 . . .
4148 ld hl,t_tstfl_ZCPS ;18a5 21 dc 1f ! . .
4149 ld c,007h ;18a8 0e 07 . .
4150 jr l18b1h ;18aa 18 05 . .
4153 ld hl,t_tstfl_ZC ;18ac 21 cd 1f ! . .
4154 ld c,003h ;18af 0e 03 . .
4157 call sub_030ah ;18b2 cd 0a 03 . . .
4169 call next_arg ;18be cd ca 02 . . .
4172 jp ERROR ;18c2 c3 07 01 . . .
4175 ld a,(de) ;18c5 1a .
4176 cp ')' ;18c6 fe 29 . )
4177 jr nz,l18c2h ;18c8 20 f8 .
4182 ld hl,cmd_L ;18cd 21 cd 18 ! . .
4183 ld (cmd_rpt),hl ;18d0 22 68 00 " h .
4184 call expr ;18d3 cd be 03 . . .
4185 jr nc,l18dbh ;18d6 30 03 0 .
4186 ld hl,(last_L) ;18d8 2a f9 1f * . .
4189 pop iy ;18dc fd e1 . .
4190 call next_arg ;18de cd ca 02 . . .
4191 call get_range ;18e1 cd 9a 03 . . .
4192 jr nc,l1905h ;18e4 30 1f 0 .
4193 call assert_eol ;18e6 cd d6 02 . . .
4194 ld b,16 ;18e9 06 10 . .
4197 push iy ;18ec fd e5 . .
4200 call p_disas_line ;18f0 cd 2d 19 . - .
4201 call crlf ;18f3 cd a3 02 . . .
4202 pop iy ;18f6 fd e1 . .
4204 ld b,0 ;18f9 06 00 . .
4205 add iy,bc ;18fb fd 09 . .
4206 ld (last_L),iy ;18fd fd 22 f9 1f . " . .
4208 djnz l18ebh ;1902 10 e7 . .
4211 call assert_eol ;1905 cd d6 02 . . .
4216 jr nz,l190fh ;190c 20 01 .
4220 push iy ;1910 fd e5 . .
4223 call p_disas_line ;1914 cd 2d 19 . - .
4224 call crlf ;1917 cd a3 02 . . .
4225 pop iy ;191a fd e1 . .
4227 ld d,000h ;191d 16 00 . .
4228 add iy,de ;191f fd 19 . .
4229 ld (last_L),iy ;1921 fd 22 f9 1f . " . .
4232 sbc hl,de ;1927 ed 52 . R
4235 jr l190fh ;192b 18 e2 . .
4238 call out.hl.@ ;192d cd a4 01 . . .
4239 call z,outbl ;1930 cc 9f 02 . . .
4240 call outbl ;1933 cd 9f 02 . . .
4242 ld (con_col),a ;1937 32 72 02 2 r .
4243 call p_disas_instr ;193a cd 65 19 . e .
4248 call outbl ;193f cd 9f 02 . . .
4249 ld a,(con_col) ;1942 3a 72 02 : r .
4250 cp 16 ;1945 fe 10 . .
4251 jr c,l193fh ;1947 38 f6 8 .
4254 ld de,(offs.@) ;1949 ed 5b 64 00 . [ d .
4258 call p_char_lparen ;1952 cd 5d 02 . ] .
4259 ld a,'@' ;1955 3e 40 > @
4260 call outchar ;1957 cd 5d 02 . ] .
4262 sbc hl,de ;195b ed 52 . R
4263 call out_hl ;195d cd 13 02 . . .
4264 jp out_rparen ;1962 c3 5d 02 . ] .
4268 ld (l1ffdh),a ;1966 32 fd 1f 2 . .
4269 call disas_get_instrlen ;1969 cd 8c 19 . . .
4270 jr nc,l197fh ;196c 30 11 0 .
4272 call p_mnemonic ;196f cd b9 1e . . .
4274 call call_hl ;1973 cd c1 19 . . .
4276 ld a,(l1ffdh) ;1977 3a fd 1f : . .
4277 ld hl,(l1ffbh) ;197a 2a fb 1f * . .
4282 ld hl,msg_undef_opcode ;197f 21 89 19 ! . .
4283 call pstr ;1982 cd 88 02 . . .
4284 ld b,001h ;1985 06 01 . .
4293 ld (isprefix_ixiy),a ;198d 32 f8 1f 2 . .
4294 ld a,(iy+000h) ;1990 fd 7e 00 . ~ .
4295 cp 0edh ;1993 fe ed . .
4296 jp z,disas_pfx.ED ;1995 ca 19 1a . . .
4297 cp 0ddh ;1998 fe dd . .
4298 jr z,l19abh ;199a 28 0f ( .
4299 cp 0fdh ;199c fe fd . .
4300 jr z,l19afh ;199e 28 0f ( .
4302 ld a,(iy+000h) ;19a0 fd 7e 00 . ~ .
4303 cp 0cbh ;19a3 fe cb . .
4304 jp z,disas_pfx.CB ;19a5 ca 36 1a . 6 .
4305 jp disas_nopfx ;19a8 c3 4d 1a . M .
4307 ld a,1 ;19ab 3e 01 > .
4308 jr l19b1h ;19ad 18 02 . .
4310 ld a,2 ;19af 3e 02 > .
4312 ld (isprefix_ixiy),a ;19b1 32 f8 1f 2 . .
4313 call disas_pfx.DDFD ;19b4 cd c2 19 . . .
4316 call sub_19a0h ;19b9 cd a0 19 . . .
4324 inc iy ;19c2 fd 23 . #
4325 ld hl,b_19ef_start ;19c4 21 ef 19 ! . .
4326 call test_DDFD ;19c7 cd 8c 1a . . .
4327 ld b,002h ;19ca 06 02 . .
4329 ld hl,l1a0ah ;19cd 21 0a 1a ! . .
4330 call test_DDFD ;19d0 cd 8c 1a . . .
4331 ld b,001h ;19d3 06 01 . .
4333 ld a,(iy+000h) ;19d6 fd 7e 00 . ~ .
4334 cp 0cbh ;19d9 fe cb . .
4335 jr nz,l19edh ;19db 20 10 .
4336 ld a,(iy+002h) ;19dd fd 7e 02 . ~ .
4337 cp 036h ;19e0 fe 36 . 6
4339 and 007h ;19e3 e6 07 . .
4340 cp 006h ;19e5 fe 06 . .
4341 jr nz,l19edh ;19e7 20 04 .
4342 ld b,002h ;19e9 06 02 . .
4349 ; DD/FD 3 byte (ix+d)/(iy+d)
4397 inc iy ;1a19 fd 23 . #
4398 ld hl,b_1bc9_start ;1a1b 21 c9 1b ! . .
4399 call sub_1a72h ;1a1e cd 72 1a . r .
4400 ld b,2 ;1a21 06 02 . .
4402 ld hl,b_1bf4_start ;1a24 21 f4 1b ! . .
4403 call lookup_opc ;1a27 cd 97 1a . . .
4404 ld b,2 ;1a2a 06 02 . .
4411 ld hl,b_1c40_start ;1a2d 21 40 1c ! @ .
4412 call lookup_opc ;1a30 cd 97 1a . . .
4413 ld b,4 ;1a33 06 04 . .
4417 push iy ;1a36 fd e5 . .
4418 inc iy ;1a38 fd 23 . #
4419 ld a,(isprefix_ixiy) ;1a3a 3a f8 1f : . .
4421 jr z,l1a42h ;1a3e 28 02 ( .
4422 inc iy ;1a40 fd 23 . #
4424 ld hl,b_1c55_start ;1a42 21 55 1c ! U .
4425 call lookup_opc ;1a45 cd 97 1a . . .
4426 pop iy ;1a48 fd e1 . .
4427 ld b,2 ;1a4a 06 02 . .
4431 ld hl,b_1b54_start ;1a4d 21 54 1b ! T .
4432 call lookup_opc ;1a50 cd 97 1a . . .
4433 ld b,2 ;1a53 06 02 . .
4435 ld hl,b_1ab6_start ;1a56 21 b6 1a ! . .
4436 call sub_1a72h ;1a59 cd 72 1a . r .
4437 ld b,1 ;1a5c 06 01 . .
4439 ld hl,b_1ad1_start ;1a5f 21 d1 1a ! . .
4440 call lookup_opc ;1a62 cd 97 1a . . .
4441 ld b,1 ;1a65 06 01 . .
4443 ld hl,b_1b9b_start ;1a68 21 9b 1b ! . .
4444 call lookup_opc ;1a6b cd 97 1a . . .
4446 ld b,3 ;1a6f 06 03 . .
4450 ld a,(hl) ;1a72 7e ~
4451 cp 0ffh ;1a73 fe ff . .
4453 cp (iy+000h) ;1a76 fd be 00 . . .
4454 jr z,l1a7fh ;1a79 28 04 ( .
4457 jr sub_1a72h ;1a7d 18 f3 . .
4460 ld c,(hl) ;1a80 4e N
4461 ld hl,t_MNEMONICS ;1a81 21 c6 1e ! . .
4462 ld b,0 ;1a84 06 00 . .
4463 add hl,bc ;1a86 09 .
4464 ld de,l1c97h ;1a87 11 97 1c . . .
4469 ld a,(hl) ;1a8c 7e ~
4473 cp (iy+000h) ;1a90 fd be 00 . . .
4474 jr nz,test_DDFD ;1a93 20 f7 .
4479 ld a,(iy+000h) ;1a97 fd 7e 00 . ~ .
4483 jr z,l1aa8h ;1a9d 28 09 ( .
4488 ld a,(hl) ;1aa3 7e ~
4490 jr nz,lookup_opc ;1aa5 20 f0 .
4494 ld c,(hl) ;1aa9 4e N
4496 ld e,(hl) ;1aab 5e ^
4498 ld d,(hl) ;1aad 56 V
4499 ld hl,t_MNEMONICS ;1aae 21 c6 1e ! . .
4500 ld b,000h ;1ab1 06 00 . .
4501 add hl,bc ;1ab3 09 .
4505 ; 1 byte opcodes (no parameters)
4506 ; Format: db opcode, t_MNEMONICS-index
4525 ; Format: db mask, match, t_MNEMONICS-index
4526 ; dw argument formating fuction
4528 db 0c0h,040h,056h ;ld r,r
4530 db 0f8h,080h,003h ;add a,r
4532 db 0f8h,088h,000h ;adc a,r
4534 db 0f8h,090h,0c9h ;sub r
4536 db 0f8h,098h,0b7h ;sbc a,r
4538 db 0f8h,0a0h,006h ;and r
4540 db 0f8h,0a8h,0cch ;xor r
4542 db 0f8h,0b0h,06ch ;or r
4544 db 0f8h,0b8h,013h ;cp r
4546 db 0c7h,0c0h,08bh ;ret cc
4548 db 0c7h,0c7h,0b4h ;rst
4550 db 0ffh,0c9h,08bh ;ret
4552 db 0cfh,0c1h,081h ;pop rr
4554 db 0cfh,0c5h,084h ;push rr
4556 db 0ffh,0e3h,034h ;ex (sp),hl
4558 db 0ffh,0e9h,052h ;jp (hl)
4560 db 0ffh,0ebh,034h ;ex de,hl
4562 db 0ffh,0f9h,056h ;ld sp,hl
4564 db 0cfh,003h,041h ;inc rr
4566 db 0cfh,00bh,029h ;dec rr
4568 db 0c7h,004h,041h ;inc r
4570 db 0c7h,005h,029h ;dec r
4572 db 0ffh,008h,034h ;ex af,af'
4574 db 0cfh,009h,003h ;add hl,rr
4576 db 0efh,002h,056h ;ld (rr),a ;rr=bc,de
4578 db 0efh,00ah,056h ;ld a,(rr) ;rr=bc,de
4584 db 0c7h,006h,056h ;ld r,nn
4586 db 0ffh,0c6h,003h ;add a,nn
4588 db 0ffh,0ceh,000h ;adc a,nn
4590 db 0ffh,0d6h,0c9h ;sub a,nn
4592 db 0ffh,0deh,0b7h ;sbc a,nn
4594 db 0ffh,0e6h,006h ;and a,nn
4596 db 0ffh,0eeh,0cch ;xor nn
4598 db 0ffh,0f6h,06ch ;or nn
4600 db 0ffh,0feh,013h ;cp a,nn
4602 db 0ffh,010h,02eh ;djnz
4604 db 0ffh,018h,054h ;jr
4606 db 0e7h,020h,054h ;jr,cc
4608 db 0ffh,0d3h,076h ;out (nn),a
4610 db 0ffh,0dbh,03fh ;in a,(nn)
4616 db 0c7h,0c2h,052h ;jp cc,mn
4618 db 0c7h,0c4h,00ch ;call cc,mn
4620 db 0cfh,001h,056h ;ld ww,mn
4622 db 0ffh,0c3h,052h ;jp mn
4624 db 0ffh,0cdh,00ch ;call mn
4626 db 0ffh,022h,056h ;ld (mn),hl
4628 db 0ffh,02ah,056h ;ld hl,(mn)
4630 db 0ffh,032h,056h ;ld (mn),a
4632 db 0ffh,03ah,056h ;ld a,(mn)
4636 ; Prefix ED + 1 byte opcode, no arguments
4637 ; Format: opcode, t_MNEMONICS index
4668 db 0e7h,040h,03fh ;in r,(c) ;r=b,c,d,e
4670 db 0f7h,060h,03fh ;in r,(c) ;r=h,l
4672 db 0ffh,078h,03fh ;in r,(c) ;r=a
4674 db 0e7h,041h,076h ;out (c),r ;r=b,c,d,e
4676 db 0f7h,061h,076h ;out (c),r ;r=h,l
4678 db 0ffh,079h,076h ;out (c),r ;r=a
4680 db 0cfh,042h,0b7h ;sbc hl,rr
4682 db 0cfh,04ah,000h ;adc hl,rr
4684 db 0ffh,046h,03dh ;im 0
4686 db 0ffh,056h,03dh ;im 1
4688 db 0ffh,05eh,03dh ;im 2
4690 db 0ffh,047h,056h ;ld i,a
4692 db 0ffh,057h,056h ;ld a,i
4694 db 0ffh,04fh,056h ;ld r,a
4696 db 0ffh,05fh,056h ;ld a,r
4698 db 0cfh,04ch,0d2h ;mlt rr
4700 db 0c7h,004h,0eeh ;tst r
4705 db 0e7h,000h,0cfh ;in0 r,(m) ;r=b,c,d,e
4707 db 0f7h,020h,0cfh ;in0 r,(m) ;r=h,l
4709 db 0ffh,038h,0cfh ;in0 a,(m)
4711 db 0e7h,001h,0e7h ;out0 (m),r ;r=b,c,d,e
4713 db 0f7h,021h,0e7h ;out0 (m),r ;r=h,l
4715 db 0ffh,039h,0e7h ;out0 (m),a
4717 db 0ffh,064h,0eeh ;tst m
4719 db 0ffh,074h,0f1h ;tstio m
4724 db 0efh,043h,056h ;ld (mn),ww ;ww=bc,de
4726 db 0ffh,073h,056h ;ld (mn),sp
4728 db 0efh,04bh,056h ;ld ww,(mn) ;ww=bc,de
4730 db 0ffh,07bh,056h ;ld sp,(mn)
4736 db 0f8h,000h,09bh ;rlc g
4738 db 0f8h,008h,0aah ;rrc g
4740 db 0f8h,010h,096h ;rl g
4742 db 0f8h,018h,0a5h ;rr g
4744 db 0f8h,020h,0c0h ;sla g
4746 db 0f8h,028h,0c3h ;sra g
4748 db 0f8h,038h,0c6h ;srl g
4750 db 0c0h,040h,009h ;bit b,g
4752 db 0c0h,080h,088h ;res b,g
4754 db 0c0h,0c0h,0bdh ;set b,g
4759 call p_arg_r ;1c88 cd 28 1e . ( .
4760 call p_char_comma ;1c8b cd b4 1e . . .
4761 jp p_arg_rs ;1c8e c3 30 1e . 0 .
4763 call p_A_comma ;1c91 cd b1 1e . . .
4764 jp p_arg_rs ;1c94 c3 30 1e . 0 .
4768 ;-----------------------------------------------------
4778 ;-----------------------------------------------------
4781 ld a,(iy+000h) ;1c98 fd 7e 00 . ~ .
4782 and 038h ;1c9b e6 38 . 8
4783 jp out_hex ;1c9d c3 18 02 . . .
4786 ld hl,b_1ca9_start ;1ca0 21 a9 1c ! . .
4787 call pstr ;1ca3 cd 88 02 . . .
4788 jp p_arg_hlixiy ;1ca6 c3 7e 1e . ~ .
4794 call p_char_lparen ;1cb0 cd 5d 02 . ] .
4795 call p_arg_hlixiy ;1cb3 cd 7e 1e . ~ .
4799 ld hl,l1773h ;1cbb 21 73 17 ! s .
4800 jp pstr ;1cbe c3 88 02 . . .
4803 ld hl,b_1cca_start ;1cc1 21 ca 1c ! . .
4804 call pstr ;1cc4 cd 88 02 . . .
4805 jp p_arg_hlixiy ;1cc7 c3 7e 1e . ~ .
4811 ld hl,b_176d_start ;1ccd 21 6d 17 ! m .
4812 jp pstr ;1cd0 c3 88 02 . . .
4815 call p_arg_hlixiy ;1cd3 cd 7e 1e . ~ .
4816 call p_char_comma ;1cd6 cd b4 1e . . .
4817 jp p_arg_ww ;1cd9 c3 8b 1e . . .
4819 call sub_1ce8h ;1cdc cd e8 1c . . .
4820 call p_char_comma ;1cdf cd b4 1e . . .
4821 jp p_char_A ;1ce2 c3 3d 1d . = .
4824 call p_A_comma ;1ce5 cd b1 1e . . .
4826 call p_char_lparen ;1cea cd 5d 02 . ] .
4827 call p_arg_ww ;1ced cd 8b 1e . . .
4829 jp p_char_rparen ;1cf2 c3 5d 02 . ] .
4832 call p_A_comma ;1cf5 cd b1 1e . . .
4833 jr l1d09h ;1cf8 18 0f . .
4835 call p_arg_r ;1cfa cd 28 1e . ( .
4836 call p_char_comma ;1cfd cd b4 1e . . .
4837 ld a,(isprefix_ixiy) ;1d00 3a f8 1f : . .
4839 ld a,(iy+002h) ;1d04 fd 7e 02 . ~ .
4840 jr nz,l1d0ch ;1d07 20 03 .
4842 ld a,(iy+001h) ;1d09 fd 7e 01 . ~ .
4844 jp out_hex ;1d0c c3 18 02 . . .
4847 ld a,(iy+000h) ;1d0f fd 7e 00 . ~ .
4848 and 018h ;1d12 e6 18 . .
4849 call p_arg_cc0 ;1d14 cd a0 1e . . .
4850 call p_char_comma ;1d17 cd b4 1e . . .
4852 ld c,(iy+001h) ;1d1a fd 4e 01 . N .
4857 push iy ;1d21 fd e5 . .
4859 add hl,bc ;1d24 09 .
4862 jr l1d4eh ;1d27 18 25 . %
4864 call p_A_comma ;1d29 cd b1 1e . . .
4866 call p_char_lparen ;1d2e cd 5d 02 . ] .
4867 ld a,(iy+001h) ;1d31 fd 7e 01 . ~ .
4868 jp l1e6bh ;1d34 c3 6b 1e . k .
4870 call sub_1d2ch ;1d37 cd 2c 1d . , .
4874 call p_arg_cc ;1d42 cd 9d 1e . . .
4875 call p_char_comma ;1d45 cd b4 1e . . .
4877 ld l,(iy+001h) ;1d48 fd 6e 01 . n .
4878 ld h,(iy+002h) ;1d4b fd 66 02 . f .
4880 ld a,002h ;1d4e 3e 02 > .
4882 ld (l1ffdh),a ;1d50 32 fd 1f 2 . .
4883 ld (l1ffbh),hl ;1d53 22 fb 1f " . .
4884 call out_hl ;1d56 cd 13 02 . . .
4887 call p_arg_ww ;1d5a cd 8b 1e . . .
4888 call p_char_comma ;1d5d cd b4 1e . . .
4889 jr p_arg_mn ;1d60 18 e6 . .
4892 call sub_1e13h ;1d62 cd 13 1e . . .
4893 call p_char_comma ;1d65 cd b4 1e . . .
4894 jp p_arg_hlixiy ;1d68 c3 7e 1e . ~ .
4896 call p_arg_hlixiy ;1d6b cd 7e 1e . ~ .
4897 call p_char_comma ;1d6e cd b4 1e . . .
4898 jp sub_1e13h ;1d71 c3 13 1e . . .
4901 call sub_1e13h ;1d74 cd 13 1e . . .
4903 call p_char_comma ;1d77 cd b4 1e . . .
4905 ld a,'A' ;1d7a 3e 41 > A
4906 jr outchar1 ;1d87 18 06 . .
4908 call p_A_comma ;1d7f cd b1 1e . . .
4909 jp sub_1e13h ;1d82 c3 13 1e . . .
4911 ld a,'0' ;1d85 3e 30 > 0
4912 jr outchar1 ;1d87 18 06 . .
4914 ld a,'1' ;1d89 3e 31 > 1
4915 jr outchar1 ;1d8b 18 02 . .
4917 ld a,'2' ;1d8d 3e 32 > 2
4918 jr outchar1 ;1d8b 18 02 . .
4921 call p_char_A ;1eb1 cd 3d 1d . = .
4923 ld a,',' ;1eb4 3e 2c > ,
4925 jp outchar ;1eb6 c3 5d 02 . ] .
4928 ld hl,b_1da7_start ;1d92 21 a7 1d ! . .
4929 jr l1da4h ;1d95 18 0d . .
4931 ld hl,l1daah ;1d97 21 aa 1d ! . .
4932 jr l1da4h ;1d9a 18 08 . .
4934 ld hl,l1dadh ;1d9c 21 ad 1d ! . .
4935 jr l1da4h ;1d9f 18 03 . .
4937 ld hl,l1db0h ;1da1 21 b0 1d ! . .
4939 jp pstr ;1da4 c3 88 02 . . .
4951 call p_arg_r ;1db3 cd 28 1e . ( .
4952 call p_char_comma ;1db6 cd b4 1e . . .
4953 ld hl,t__C_ ;1db9 21 f4 1f ! . .
4954 jp pstr ;1dbc c3 88 02 . . .
4957 ld hl,t__C_ ;1dbf 21 f4 1f ! . .
4958 call pstr ;1dc2 cd 88 02 . . .
4959 call p_char_comma ;1dc5 cd b4 1e . . .
4960 jr p_arg_r ;1dc8 18 5e . ^
4963 call p_arg_hlixiy ;1dca cd 7e 1e . ~ .
4964 call p_char_comma ;1dcd cd b4 1e . . .
4965 jp p_arg_ww ;1dd0 c3 8b 1e . . .
4968 call sub_1e13h ;1dd3 cd 13 1e . . .
4969 call p_char_comma ;1dd6 cd b4 1e . . .
4970 jp p_arg_ww ;1dd9 c3 8b 1e . . .
4973 call p_arg_ww ;1ddc cd 8b 1e . . .
4974 call p_char_comma ;1ddf cd b4 1e . . .
4975 jr sub_1e13h ;1de2 18 2f . /
4978 ld a,(isprefix_ixiy) ;1de4 3a f8 1f : . .
4980 jr nz,l1defh ;1de8 20 05 .
4981 ld a,(iy+001h) ;1dea fd 7e 01 . ~ .
4982 jr l1df2h ;1ded 18 03 . .
4984 ld a,(iy+002h) ;1def fd 7e 02 . ~ .
4990 and 007h ;1df6 e6 07 . .
4991 add a,'0' ;1df8 c6 30 . 0
4992 call outchar ;1dfa cd 5d 02 . ] .
4993 call p_char_comma ;1dfd cd b4 1e . . .
4995 jr p_arg_r0 ;1e01 18 30 . 0
4998 ld a,(isprefix_ixiy) ;1e03 3a f8 1f : . .
5000 jr nz,l1e0eh ;1e07 20 05 .
5001 ld a,(iy+001h) ;1e09 fd 7e 01 . ~ .
5002 jr l1e11h ;1e0c 18 03 . .
5004 ld a,(iy+002h) ;1e0e fd 7e 02 . ~ .
5006 jr p_arg_r0 ;1e11 18 20 .
5009 call p_char_lparen ;1e15 cd 5d 02 . ] .
5010 ld l,(iy+001h) ;1e18 fd 6e 01 . n .
5011 ld h,(iy+002h) ;1e1b fd 66 02 . f .
5012 ld a,001h ;1e1e 3e 01 > .
5013 call sub_1d50h ;1e20 cd 50 1d . P .
5016 ld a,')' ;1e23 3e 29 > )
5017 jp outchar ;1e25 c3 5d 02 . ] .
5020 ld a,(iy+000h) ;1e28 fd 7e 00 . ~ .
5024 jr p_arg_r0 ;1e2e 18 03 . .
5026 ld a,(iy+000h) ;1e30 fd 7e 00 . ~ .
5028 and 007h ;1e33 e6 07 . .
5029 cp 006h ;1e35 fe 06 . .
5030 jr nz,p_arg_r1 ;1e37 20 3a :
5031 ld a,(isprefix_ixiy) ;1e39 3a f8 1f : . .
5033 ld a,006h ;1e3d 3e 06 > .
5034 jr z,p_arg_r1 ;1e3f 28 32 ( 2
5035 ld hl,b_1e78_start ;1e41 21 78 1e ! x .
5036 ld a,(isprefix_ixiy) ;1e44 3a f8 1f : . .
5038 jr z,l1e4dh ;1e48 28 03 ( .
5039 ld hl,l1e7bh ;1e4a 21 7b 1e ! { .
5041 call pstr ;1e4d cd 88 02 . . .
5042 ld a,(iy+001h) ;1e50 fd 7e 01 . ~ .
5044 jp m,l1e61h ;1e54 fa 61 1e . a .
5045 ld a,'+' ;1e57 3e 2b > +
5046 call outchar ;1e59 cd 5d 02 . ] .
5047 ld a,(iy+001h) ;1e5c fd 7e 01 . ~ .
5048 jr l1e6bh ;1e5f 18 0a . .
5050 ld a,'-' ;1e61 3e 2d > -
5051 call outchar ;1e63 cd 5d 02 . ] .
5052 ld a,(iy+001h) ;1e66 fd 7e 01 . ~ .
5055 call out_hex ;1e6b cd 18 02 . . .
5059 ld hl,t_BCDEHL_HL_A ;1e73 21 96 1f ! . .
5060 jr p_arg ;1e76 18 32 . 2
5068 ld a,(isprefix_ixiy) ;1e7e 3a f8 1f : . .
5069 ld hl,t_HL.IX.IY ;1e81 21 c6 1f ! . .
5070 jr p_arg ;1e84 18 24 . $
5072 ld hl,t_BC.DE.HL.AF ;1e86 21 ab 1f ! . .
5073 jr l1e8eh ;1e89 18 03 . .
5075 ld hl,t_BC.DE.HL.SP ;1e8b 21 a2 1f ! . .
5077 ld a,(iy+000h) ;1e8e fd 7e 00 . ~ .
5082 and 003h ;1e95 e6 03 . .
5083 cp 002h ;1e97 fe 02 . .
5084 jr z,p_arg_hlixiy ;1e99 28 e3 ( .
5085 jr p_arg ;1e9b 18 0d . .
5088 ld a,(iy+000h) ;1e9d fd 7e 00 . ~ .
5093 and 007h ;1ea3 e6 07 . .
5094 ld hl,t_tstfl_ZCPS ;1ea5 21 dc 1f ! . .
5097 call sel_dc_string ;1eab cd 3d 03 . = .
5098 jp pstr ;1eae c3 88 02 . . .
5101 call pstr ;1eb9 cd 88 02 . . .
5103 call outbl ;1ebc cd 9f 02 . . .
5106 cp 5 ;1ec1 fe 05 . .
5107 jr c,l1ebch ;1ec3 20 f7 .
5262 ld hl,(REG.PC) ;1ffe 2a 60 00 * ` .
5265 jr z,l2037h ;2003 28 32 ( 2
5266 ld de,BDOS ;2005 11 05 00 . . .
5268 sbc hl,de ;2009 ed 52 . R
5269 ld hl,l20edh ;200b 21 ed 20 ! .
5270 jr z,l2031h ;200e 28 21 ( !
5271 ld iy,(REG.PC) ;2010 fd 2a 60 00 . * ` .
5272 call disas_get_instrlen ;2014 cd 8c 19 . . .
5273 jp nc,ERROR ;2017 d2 07 01 . . .
5275 ld b,000h ;201b 06 00 . .
5276 ld hl,(REG.PC) ;201d 2a 60 00 * ` .
5277 add hl,bc ;2020 09 .
5278 call sub_09cah ;2021 cd ca 09 . . .
5279 ld iy,(REG.PC) ;2024 fd 2a 60 00 . * ` .
5280 ld hl,b_2039_start ;2028 21 39 20 ! 9
5281 call lookup_opc ;202b cd 97 1a . . .
5286 call CALL_HL ;2031 cd 0f 01 . . .
5287 call c,sub_09cah ;2034 dc ca 09 . . .
5293 db 0ffh,0ddh,000h ;Prefix DD
5295 db 0ffh,0fdh,000h ;Prefix FD
5297 db 0ffh,0edh,000h ;Prefix ED
5301 db 0ffh,0cdh,000h ;call mn
5303 db 0ffh,0c3h,000h ;jp mn
5305 db 0ffh,0e9h,000h ;jp ()
5307 db 0ffh,0c9h,000h ;ret
5309 db 0ffh,0cfh,000h ;rst 8
5326 ld a,(b_21e2_start) ;2080 3a e2 21 : . !
5328 jr nz,l208bh ;2084 20 05 .
5329 ld a,(trace_call_flag) ;2086 3a e3 21 : . !
5333 ld l,(iy+001h) ;208b fd 6e 01 . n .
5334 ld h,(iy+002h) ;208e fd 66 02 . f .
5338 ld c,(iy+001h) ;2093 fd 4e 01 . N .
5343 ld hl,(REG.PC) ;209a 2a 60 00 * ` .
5344 add hl,bc ;209d 09 .
5350 ld hl,(reg.l) ;20a2 2a 5a 00 * Z .
5354 ld hl,(reg.ix) ;20a7 2a 52 00 * R .
5355 jr l20afh ;20aa 18 03 . .
5357 ld hl,(reg.iy) ;20ac 2a 50 00 * P .
5359 ld a,(iy+001h) ;20af fd 7e 01 . ~ .
5360 cp 0e9h ;20b2 fe e9 . .
5366 ld a,(iy+001h) ;20b8 fd 7e 01 . ~ .
5367 cp 04dh ;20bb fe 4d . M
5368 jr z,l20dch ;20bd 28 1d ( .
5369 cp 045h ;20bf fe 45 . E
5370 jr z,l20dch ;20c1 28 19 ( .
5374 ld a,(iy+000h) ;20c5 fd 7e 00 . ~ .
5375 ld (l20d7h),a ;20c8 32 d7 20 2 .
5376 ld hl,(reg.f) ;20cb 2a 54 00 * T .
5379 call l20d7h ;20d0 cd d7 20 . .
5381 jr c,l20dch ;20d4 38 06 8 .
5391 ld a,(b_21e2_start) ;20dc 3a e2 21 : . !
5393 jr nz,l20edh ;20e0 20 0b .
5394 ld a,(trace_call_flag) ;20e2 3a e3 21 : . !
5396 jr z,l20edh ;20e6 28 05 ( .
5397 call l20edh ;20e8 cd ed 20 . .
5401 ld hl,(reg_sp) ;20ed 2a 5c 00 * \ .
5402 ld e,(hl) ;20f0 5e ^
5404 ld d,(hl) ;20f2 56 V
5406 call sub_09cah ;20f4 cd ca 09 . . .
5411 ld a,(l0003h) ;20f9 3a 03 00 : . .
5412 cp (iy+000h) ;20fc fd be 00 . . .
5414 ld a,(iy+000h) ;2100 fd 7e 00 . ~ .
5415 and 038h ;2103 e6 38 . 8
5417 ld h,000h ;2106 26 00 & .
5418 ld a,(b_21e2_start) ;2108 3a e2 21 : . !
5420 jr nz,l2113h ;210c 20 05 .
5421 ld a,(trace_call_flag) ;210e 3a e3 21 : . !
5431 ld hl,cmd_C ;2117 21 17 21 ! . !
5432 ld a,001h ;211a 3e 01 > .
5433 jr l2122h ;211c 18 04 . .
5436 ld hl,cmd_T ;211f 21 1e 21 ! . !
5438 ld (cmd_rpt),hl ;2122 22 68 00 " h .
5439 ld (trace_call_flag),a ;2125 32 e3 21 2 . !
5440 ld a,(de) ;2128 1a .
5441 sub 'N' ;2129 d6 4e . N
5442 jr nz,l212eh ;212b 20 01 .
5445 ld (trace_N_flag),a ;212e 32 e7 21 2 . !
5446 ld a,(de) ;2131 1a .
5447 sub 'J' ;2132 d6 4a . J
5448 jr nz,l2137h ;2134 20 01 .
5451 ld (trace_J_flag),a ;2137 32 e8 21 2 . !
5452 call sub_21a6h ;213a cd a6 21 . . !
5453 jr z,l2145h ;213d 28 06 ( .
5454 ld hl,1 ;213f 21 01 00 ! . .
5455 call get_lastarg_def ;2142 cd 69 03 . i .
5457 ld (trace_count),hl ;2145 22 e5 21 " . !
5459 ld (l0941h),a ;2149 32 41 09 2 A .
5461 call sub_1ffeh ;214c cd fe 1f . . .
5462 jr l21a3h ;214f 18 52 . R
5465 call bp_clr_temporary ;2151 cd 54 07 . T .
5466 ld a,(trace_J_flag) ;2154 3a e8 21 : . !
5468 jr nz,l216bh ;2158 20 11 .
5469 ld iy,(REG.PC) ;215a fd 2a 60 00 . * ` .
5470 call sub_21c8h ;215e cd c8 21 . . !
5471 jr z,l216bh ;2161 28 08 ( .
5472 ld hl,b_2048_start ;2163 21 48 20 ! H
5473 call lookup_opc ;2166 cd 97 1a . . .
5474 jr nc,l214ch ;2169 30 e1 0 .
5476 ld a,(trace_UW_flag) ;216b 3a e4 21 : . !
5478 jr z,l2188h ;216f 28 17 ( .
5479 ld de,(trace_count) ;2171 ed 5b e5 21 . [ . !
5480 call expr ;2175 cd be 03 . . .
5483 add a,0ffh ;217a c6 ff . .
5485 ld hl,trace_UW_flag ;217d 21 e4 21 ! . !
5487 bit 1,a ;2181 cb 4f . O
5488 jr z,l2193h ;2183 28 0e ( .
5490 jp l0902h ;2185 c3 02 09 . . .
5492 ld hl,(trace_count) ;2188 2a e5 21 * . !
5494 ld (trace_count),hl ;218c 22 e5 21 " . !
5497 jr z,l2185h ;2191 28 f2 ( .
5499 call sub_1ffeh ;2193 cd fe 1f . . .
5500 jr nc,l2185h ;2196 30 ed 0 .
5501 ld a,(trace_N_flag) ;2198 3a e7 21 : . !
5503 ld a,(l0941h) ;219c 3a 41 09 : A .
5505 ld (l0941h),a ;21a0 32 41 09 2 A .
5507 jp user_go ;21a3 c3 25 0a . % .
5510 call skipbl ;21a6 cd bf 02 . . .
5512 ld (trace_UW_flag),a ;21aa 32 e4 21 2 . !
5513 ld a,(de) ;21ad 1a .
5514 cp 'U' ;21ae fe 55 . U
5515 jr z,l21b5h ;21b0 28 03 ( .
5516 cp 'W' ;21b2 fe 57 . W
5522 call expr ;21b8 cd be 03 . . .
5523 jp c,ERROR ;21bb da 07 01 . . .
5524 call assert_eol ;21be cd d6 02 . . .
5527 ld (trace_UW_flag),a ;21c3 32 e4 21 2 . !
5532 ld a,(iy+000h) ;21c8 fd 7e 00 . ~ .
5533 cp 0edh ;21cb fe ed . .
5534 jr z,l21dah ;21cd 28 0b ( .
5535 and 0dfh ;21cf e6 df . .
5536 cp 0ddh ;21d1 fe dd . .
5538 ld a,(iy+001h) ;21d4 fd 7e 01 . ~ .
5539 cp 0e9h ;21d7 fe e9 . .
5542 ld a,(iy+001h) ;21da fd 7e 01 . ~ .
5543 and 0f7h ;21dd e6 f7 . .
5544 cp 045h ;21df fe 45 . E
5550 db 0 ;1=call, 0=trace
5552 db 0 ;0 or 'U' or 'W'
5560 ;-------------------------------------------------------------------------------
5581 current_cseg defl $ - current_cseg
5582 .phase current_phase + current_cseg
5585 LD SP,ldr_end+(stack-ddtz_base)
5586 LD DE,signon ;ldr_end+(expr_buf-ddtz_base)
5599 LD HL,ldr_end+ddtz_size ;start of reloc bitmap
5600 ld bc,0108h ;init bit counter
5604 LD (ldr_end+(ddtz_bdos+1-ddtz_base)),HL
5608 INC DE ;size rounded up to next page boundary
5611 SBC HL,DE ;BDOS - size
5612 LD (BDOS+1),HL ;-> new BDOS entry
5627 ld b,c ;reload bit counter
5628 LD e,(HL) ;get next 8 relocation bits
5654 LD HL,conbuf+2-ddtz_base
5658 current_phase defl $
5662 ds EXPR_BUF_SIZE - ($ - expr_buf)
5721 ddtz_size equ $-ddtz_base
5724 ;-------------------------------------------------------------------------------