1 ; Disassembled ddtz.com, version "DDT/Z [8101]"
3 ; Assemble with M80 or a compatible assembler
4 ; to (re)create the original .com file.
6 ;-------------------------------------------------------------------------------
14 LD DE,ldr_end+expr_buf
68 rept (($+7) and 0FFF8H) - $
75 ;-------------------------------------------------------------------------------
79 ; Some greneral definitions
95 BDOS_CIN equ 1 ;Console Input
96 BDOS_COUT equ 2 ;Console Output
97 BDOS_PSTR equ 9 ;Print String
98 BDOS_CBUF equ 10 ;Read Console Buffer
99 BDOS_CSTAT equ 11 ;Get Console Status
100 BDOS_OPEN equ 15 ;Open File
101 BDOS_CLOSE equ 16 ;Close File
102 BDOS_DELETE equ 19 ;Delete File
103 BDOS_READ equ 20 ;Read Sequential
104 BDOS_WRITE equ 21 ;Write Sequential
105 BDOS_CREATE equ 22 ;Make File
106 BDOS_SETDMA equ 26 ;Set DMA Address
108 ; ddtz specific definitions
110 STACK_SIZE equ 64 ;ddtz internal stack
111 CONBUF_SIZE equ 80 ;Size of console input buffer
112 EXPR_BUF_SIZE equ 128 ;expressen buffer for conditional breakpoints
113 BP_CNT equ 12 ;Number of breakpoints
114 BP_SIZE equ 8 ;Size of a breakpoint record
115 YREG_CNT equ 10 ;Number of Y registers (0..9)
117 ;-------------------------------------------------------------------------------
120 jp 0 ;0000 c3 00 00 . . .
130 reg.l2: db 000h ;0046 00 .
131 reg.h2: db 000h ;0047 00 .
132 reg.e2: db 000h ;0048 00 .
133 reg.d2: db 000h ;0049 00 .
134 reg.c2: db 000h ;004a 00 .
135 reg.b2: db 000h ;004b 00 .
136 reg.f2: db 000h ;004c 00 .
137 reg.a2: db 000h ;004d 00 .
138 l004eh: db 000h ;004e 00 .
139 reg.i: db 000h ;004f 00 .
140 reg.iy: dw 0000h ;0050 00 .
141 reg.ix: dw 0000h ;0052 00 .
142 reg.f: db 000h ;0054 00 .
143 reg.a: db 000h ;0055 00 .
144 reg.c: db 000h ;0056 00 .
145 reg.b: db 000h ;0057 00 .
146 reg.e: db 000h ;0058 00 .
147 reg.d: db 000h ;0059 00 .
148 reg.l: db 000h ;005a 00 .
149 reg.h: db 000h ;005b 00 .
150 reg_sp: dw TPA ;005c 00 01 .
154 REG.PC: dw TPA ;0060 00 01 .
155 l0062h: dw 0000h ;0062 00 00 .
156 offs.@: dw 0 ;0064 00 00 .
158 CMD_ERR:dw l0146h ;0066 46 01 F .
159 cmd_rpt:dw mainloop ;0068 bd 00 . .
162 db CONBUF_SIZE ;006a 50 P
164 ld sp,stack ;006b 31 46 00 1 F .
166 ld de,ddtz_base ;006f 11 00 00 . . .
168 sbc hl,de ;0073 ed 52 . R
170 jr c,l0079h ;0076 38 01 8 .
173 ld de,TPA ;0079 11 00 01 . . .
176 ld (hl),000h ;007d 36 00 6 .
183 jr nz,l007ch ;0085 20 f5 .
184 ld a,i ;0087 ed 57 . W
185 ld (reg.i),a ;0089 32 4f 00 2 O .
186 ld a,0f3h ;008c 3e f3 > .
187 jp po,l0093h ;008e e2 93 00 . . .
188 ld a,0fbh ;0091 3e fb > .
190 ld (reg.iff),a ;0093 32 5e 00 2 ^ .
191 call sub_0004h ;0096 cd 04 00 . . .
192 ld hl,ddtz_base ;0099 21 00 00 ! . .
193 ld l,000h ;009c 2e 00 . .
194 ld (reg_sp),hl ;009e 22 5c 00 " \ .
195 ld a,(FCB+1) ;00a1 3a 5d 00 : ] .
197 ld hl,0 ;00a6 21 00 00 ! . .
198 call nz,read_file ;00a9 c4 68 10 . h .
199 jr mainloop ;00ac 18 0f . .
201 ds CONBUF_SIZE + 3 - ($ - conbuf)
204 ld sp,stack ;00bd 31 46 00 1 F .
205 ld hl,l0146h ;00c0 21 46 01 ! F .
206 ld (CMD_ERR),hl ;00c3 22 66 00 " f .
207 ld hl,(REG.PC) ;00c6 2a 60 00 * ` .
208 ld (l0062h),hl ;00c9 22 62 00 " b .
209 call bp_clr_temporary ;00cc cd 54 07 . T .
210 ld hl,(cmd_rpt) ;00cf 2a 68 00 * h .
211 ld de,mainloop ;00d2 11 bd 00 . . .
212 call cp_hl_de ;00d5 cd ee 02 . . .
213 ld a,'>' ;00d8 3e 3e > >
214 call outchar ;00da cd 5d 02 . ] .
215 call nz,outchar ;00dd c4 5d 02 . ] .
216 call z,outbl ;00e0 cc 9f 02 . . .
217 call get_line ;00e3 cd 4e 01 . N .
218 call skipbl ;00e6 cd bf 02 . . .
219 jr z,exe_hl ;00e9 28 1f ( .
220 ld hl,mainloop ;00eb 21 bd 00 ! . .
221 ld (cmd_rpt),hl ;00ee 22 68 00 " h .
223 sub '@' ;00f2 d6 40 . @
224 jr c,ERROR ;00f4 38 11 8 .
225 cp 'Z'+1-'@' ;00f6 fe 1b . .
226 jr nc,ERROR ;00f8 30 0d 0 .
228 ld hl,CMDTAB ;00fb 21 10 01 ! . .
229 call add_hl_a ;00fe cd b9 02 . . .
234 jr exe_hl ;0105 18 03 . .
236 ld hl,(CMD_ERR) ;0107 2a 66 00 * f .
238 call CALL_HL ;010a cd 0f 01 . . .
239 jr mainloop ;010d 18 ae . .
244 defw cmd_@ ;0110 92 0d . .
245 defw cmd_A ;0112 fe 11 . .
246 defw cmd_B ;0114 6d 07 m .
247 defw cmd_C ;0116 17 21 . !
248 defw cmd_D ;0118 48 0f H .
249 defw ERROR ;011a 07 01 . .
250 defw cmd_F ;011c af 0f . .
251 defw cmd_G ;011e 31 07 1 .
252 defw cmd_H ;0120 3d 0e = .
253 defw cmd_I ;0122 a3 0d . .
254 defw ERROR ;0124 07 01 . .
255 defw ERROR ;0126 07 01 . .
256 defw cmd_L ;0128 cd 18 . .
257 defw cmd_M ;012a 19 0e . .
258 defw ERROR ;012c 07 01 . .
259 defw cmd_O ;012e c7 0d . .
260 defw ERROR ;0130 07 01 . .
261 defw cmd_Q ;0132 84 0e . .
262 defw cmd_R ;0134 62 10 b .
263 defw cmd_S ;0136 5a 0d Z .
264 defw cmd_T ;0138 1e 21 . !
265 defw ERROR ;013a 07 01 . .
266 defw cmd_V ;013c ea 0d . .
267 defw cmd_W ;013e a0 11 . .
268 defw cmd_X ;0140 f1 0b . .
269 defw cmd_Y ;0142 b2 0b . .
270 defw cmd_Z ;0144 ba 0e . .
273 ld a,'?' ;0146 3e 3f > ?
274 call outchar ;0148 cd 5d 02 . ] .
275 jp crlf ;014b c3 a3 02 . . .
278 ld de,conbuf ;014f 11 6a 00 . j .
279 ld c,BDOS_CBUF ;0152 0e 0a . .
280 call ddtz_base ;0154 cd 00 00 . . .
281 call crlf ;0157 cd a3 02 . . .
282 ld de,conbuf+1 ;015a 11 6b 00 . k .
285 ld c,0 ;015f 0e 00 . .
290 jr z,l0194h ;0164 28 2e ( .
292 bit 0,c ;0167 cb 41 . A
293 call z,toupper ;0169 cc 9b 01 . . .
295 cp '''' ;016d fe 27 . '
296 jr nz,l0162h ;016f 20 f1 .
300 cp '''' ;0174 fe 27 . '
301 jr z,l0190h ;0176 28 18 ( .
304 cp '^' ;017a fe 5e . ^
305 jr z,l0184h ;017c 28 06 ( .
308 cp '^' ;0180 fe 5e . ^
309 jr nz,l0190h ;0182 20 0c .
313 call sub_0303h ;0186 cd 03 03 . . .
317 cp '''' ;018c fe 27 . '
318 jr z,l0191h ;018e 28 01 ( .
323 jr l0162h ;0192 18 ce . .
327 ld de,conbuf+2 ;0196 11 6c 00 . l .
332 cp 'a' ;019b fe 61 . a
334 cp 'z'+1 ;019e fe 7b . {
336 and 05fh ;01a1 e6 5f . _
340 call out_hl ;01a4 cd 13 02 . . .
343 ld de,(offs.@) ;01a9 ed 5b 64 00 . [ d .
346 jr z,l01bfh ;01af 28 0e ( .
347 call outbl ;01b1 cd 9f 02 . . .
348 ld a,'@' ;01b4 3e 40 > @
349 call outchar ;01b6 cd 5d 02 . ] .
351 sbc hl,de ;01ba ed 52 . R
352 call out_hl ;01bc cd 13 02 . . .
359 call out.bin.b ;01c3 cd c7 01 . . .
362 ld b,8 ;01c7 06 08 . .
366 ld a,00 ;01cb 3e 00 > .
368 call out_dgt ;01ce cd 21 02 . ! .
370 djnz l01c9h ;01d2 10 f5 . .
371 ld a,'"' ;01d4 3e 22 > "
372 jp outchar ;01d6 c3 5d 02 . ] .
375 ld a,'-' ;01d9 3e 2d > -
376 call outchar ;01db cd 5d 02 . ] .
378 jp cpl.hl ;01df c3 79 05 . y .
382 call sub_01d9h ;01e3 cd d9 01 . . .
386 ld b,006h ;01e8 06 06 . .
387 call sub_01f9h ;01ea cd f9 01 . . .
389 ld a,'.' ;01ee 3e 2e > .
390 call outchar ;01f0 cd 5d 02 . ] .
392 call outbl ;01f3 cd 9f 02 . . .
393 djnz l01f3h ;01f6 10 fb . .
398 ld de,10 ;01fb 11 0a 00 . . .
399 call div_hl_de ;01fe cd 75 04 . u .
402 call nz,sub_01f9h ;0203 c4 f9 01 . . .
405 jr out_dgt ;0208 18 17 . .
409 call sub_01d9h ;020b cd d9 01 . . .
410 call out_hl ;020e cd 13 02 . . .
416 call out_hex ;0214 cd 18 02 . . .
425 call out_dgt ;021d cd 21 02 . ! .
429 and 0fh ;0221 e6 0f . .
430 cp 10 ;0223 fe 0a . .
431 jr c,l0229h ;0225 38 02 8 .
432 add a,007h ;0227 c6 07 . .
434 add a,'0' ;0229 c6 30 . 0
435 jr outchar ;022b 18 30 . 0
437 ld a,'-' ;022d 3e 2d > -
438 call outchar ;022f cd 5d 02 . ] .
439 ld a,040h ;0232 3e 40 > @
442 call outquote ;0235 cd 5b 02 . [ .
445 res 7,a ;023a cb bf . .
447 jr nc,l0242h ;023e 30 02 0 .
448 sub 0c0h ;0240 d6 c0 . .
450 call outchar ;0242 cd 5d 02 . ] .
452 cp '''' ;0246 fe 27 . '
453 call z,outchar ;0248 cc 5d 02 . ] .
456 call outquote ;024d cd 5b 02 . [ .
459 ld a,'.' ;0252 3e 2e > .
460 call m,outchar ;0254 fc 5d 02 . ] .
462 jr c,l022dh ;0258 38 d3 8 .
466 ld a,'''' ;025b 3e 27 > '
472 and 07fh ;0261 e6 7f .
\7f
474 ld c,BDOS_COUT ;0264 0e 02 . .
475 call ddtz_base ;0266 cd 00 00 . . .
476 ld hl,con_col ;0269 21 72 02 ! r .
489 ld c,BDOS_CSTAT ;0276 0e 0b . .
490 call ddtz_base ;0278 cd 00 00 . . .
492 jr z,l0284h ;027c 28 06 ( .
493 ld c,BDOS_CIN ;027e 0e 01 . .
494 call ddtz_base ;0280 cd 00 00 . . .
502 ld c,0 ;0288 0e 00 . .
507 call outchar ;028d cd 5d 02 . ] .
512 jr l028ah ;0294 18 f4 . .
515 call outbl2 ;0296 cd 9c 02 . . .
517 call outbl2 ;0299 cd 9c 02 . . .
519 call outbl ;029c cd 9f 02 . . .
521 ld a,' ' ;029f 3e 20 >
522 jr outchar ;02a1 18 ba . .
524 call inchar ;02a3 cd 73 02 . s .
525 ld a,CR ;02a6 3e 0d > .
526 call outchar ;02a8 cd 5d 02 . ] .
527 ld a,LF ;02ab 3e 0a > .
528 call outchar ;02ad cd 5d 02 . ] .
529 ld a,0 ;02b0 3e 00 > .
530 ld (con_col),a ;02b2 32 72 02 2 r .
531 jp c,mainloop ;02b5 da bd 00 . . .
545 jr z,skipbl0 ;02c2 28 fa ( .
546 cp TAB ;02c4 fe 09 . .
547 jr z,skipbl0 ;02c6 28 f6 ( .
552 call skipbl ;02ca cd bf 02 . . .
553 cp ',' ;02cd fe 2c . ,
556 call skipbl ;02d1 cd bf 02 . . .
561 call skipbl ;02d6 cd bf 02 . . .
564 jp ERROR ;02da c3 07 01 . . .
569 ld hl,0 ;02df 21 00 00 ! . .
571 ld de,stack-40 ;02e3 11 1e 00 . . .
572 call cp_hl_de ;02e6 cd ee 02 . . .
575 jr c,to_error ;02eb 38 ed 8 .
580 sbc hl,de ;02ef ed 52 . R
585 ld b,0 ;02f3 06 00 . .
592 jr z,l0300h ;02fa 28 04 ( .
595 jr l02f5h ;02fe 18 f5 . .
602 ld hl,b_0cc3_start ;0303 21 c3 0c ! . .
603 ld b,07fh ;0306 06 7f .
604 jr l030ch ;0308 18 02 . .
607 ld b,0ffh ;030a 06 ff . .
613 call sub_031ch ;0310 cd 1c 03 . . .
614 jr nc,l030ch ;0313 30 f7 0 .
615 res 7,b ;0315 cb b8 . .
620 res 7,b ;0319 cb b8 . .
628 and 07fh ;0320 e6 7f .
629 jr nz,l0336h ;0322 20 12 .
630 bit 7,(hl) ;0324 cb 7e . ~
633 jr z,l031eh ;0328 28 f4 ( .
635 bit 7,b ;032b cb 78 . x
636 call z,sub_060ch ;032d cc 0c 06 . . .
637 jr nc,l0339h ;0330 30 07 0 .
643 call sub_0345h ;0336 cd 45 03 . E .
655 call sub_0345h ;0340 cd 45 03 . E .
656 jr l033eh ;0343 18 f9 . .
667 jr l0348h ;034c 18 fa . .
670 call get_arg_range ;034e cd 7d 03 . } .
673 call next_arg ;0353 cd ca 02 . . .
674 call sub_0363h ;0356 cd 63 03 . c .
681 call expr ;035d cd be 03 . . .
682 jr c,error0 ;0360 38 33 8 3
686 call sub_035dh ;0363 cd 5d 03 . ] .
688 jp assert_eol ;0366 c3 d6 02 . . .
691 call get_arg_def ;0369 cd 6e 03 . n .
692 jr l0366h ;036c 18 f8 . .
696 call expr ;036f cd be 03 . . .
697 jr c,l0375h ;0372 38 01 8 .
698 ex (sp),hl ;0374 e3 .
704 call b_037c_start ;0377 cd 7c 03 . | .
705 jr l0366h ;037a 18 ea . .
714 call expr ;0381 cd be 03 . . .
715 jr nc,l038ch ;0384 30 06 0 .
717 jr c,error0 ;0387 38 0c 8 .
723 call get_range ;038d cd 9a 03 . . .
724 jr nc,l0398h ;0390 30 06 0 .
729 jp ERROR ;0395 c3 07 01 . . .
735 call next_arg ;039a cd ca 02 . . .
736 cp 'S' ;039d fe 53 . S
737 jr nz,l03a2h ;039f 20 01 .
742 call expr ;03a4 cd be 03 . . .
743 jr c,l03b8h ;03a7 38 0f 8 .
748 jr z,l03b6h ;03ad 28 07 ( .
762 jr z,error0 ;03ba 28 d9 ( .
767 call skipbl ;03be cd bf 02 . . .
769 call do_subexpr ;03c1 cd 2f 04 . / .
771 call do_rel_op ;03c5 cd ef 03 . . .
775 call do_subexpr ;03cb cd 2f 04 . / .
776 jr c,error0 ;03ce 38 c5 8 .
778 ex (sp),hl ;03d1 e3 .
780 sbc hl,de ;03d3 ed 52 . R
781 ld hl,0ffffh ;03d5 21 ff ff ! . .
786 jr z,l03edh ;03da 28 11 ( .
787 jr l03ech ;03dc 18 0e . .
789 jr nz,l03edh ;03de 20 0d .
790 jr l03ech ;03e0 18 0a . .
792 jr z,l03edh ;03e2 28 09 ( .
794 jr c,l03edh ;03e4 38 07 8 .
795 jr l03ech ;03e6 18 04 . .
797 jr z,l03ech ;03e8 28 02 ( .
799 jr nc,l03edh ;03ea 30 01 0 .
807 ld hl,tab_eq_le_ge ;03f0 21 1f 04 ! . .
808 call lookupch ;03f3 cd f3 02 . . .
809 jr nc,l041dh ;03f6 30 25 0 %
812 jr z,l0411h ;03fa 28 15 ( .
814 cp '=' ;03fd fe 3d . =
815 jr nz,l0406h ;03ff 20 05 .
819 jr l0411h ;0404 18 0b . .
821 bit 0,b ;0406 cb 40 . @
822 jr z,l0411h ;0408 28 07 ( .
823 cp '>' ;040a fe 3e . >
824 jr nz,l0411h ;040c 20 03 .
826 ld b,005h ;040f 06 05 . .
828 ld hl,tab_func_eqlege ;0411 21 23 04 ! # .
831 call add_hl_a ;0416 cd b9 02 . . .
844 defw do_op_eq ;0423 da 03 . .
845 defw do_op_lt ;0425 e4 03 . .
846 defw do_op_gt ;0427 e8 03 . .
847 defw do_op_le ;0429 e2 03 . .
848 defw do_op_ge ;042b ea 03 . .
849 defw do_op_ne ;042d de 03 . .
852 call do_factor ;042f cd e4 04 . . .
855 call do_binary_op ;0433 cd ae 04 . . .
858 call do_factor ;0438 cd e4 04 . . .
861 ex (sp),hl ;043d e3 .
862 jr nc,l0447h ;043e 30 07 0 .
867 jp ERROR ;0444 c3 07 01 . . .
880 jr l0433h ;044e 18 e3 . .
884 sbc hl,de ;0451 ed 52 . R
885 jr l044dh ;0453 18 f8 . .
891 ld hl,0 ;0458 21 00 00 ! . .
892 ld a,010h ;045b 3e 10 > .
898 jr nc,l0464h ;0461 30 01 0 .
902 jr nz,l045dh ;0465 20 f6 .
904 jr l044dh ;0468 18 e3 . .
907 call div_hl_de ;046a cd 75 04 . u .
908 jr l044dh ;046d 18 de . .
911 call div_hl_de ;046f cd 75 04 . u .
913 jr l044dh ;0473 18 d8 . .
927 ld hl,0 ;0479 21 00 00 ! . .
928 ld a,16 ;047c 3e 10 > .
930 ; de: x (x shifted out, q shifted in)
932 ; hl: r (initially 0)
948 jr nc,l048fh ;048b 30 02 0 .
954 jr nz,l047eh ;0491 20 eb .
966 jr l044dh ;049c 18 af . .
975 jr l044dh ;04a4 18 a7 . .
984 jr l044dh ;04ac 18 9f . .
988 ld hl,tab_op_a ;04af 21 c2 04 ! . .
989 call lookupch ;04b2 cd f3 02 . . .
991 ld hl,tblf_opa ;04b6 21 cb 04 ! . .
993 call add_hl_a ;04ba cd b9 02 . . .
1004 defw doop_add ;04cb 4c 04 L .
1005 defw doop_sub ;04cd 50 04 P .
1006 defw doop_mlt ;04cf 55 04 U .
1007 defw doop_div ;04d1 6a 04 j .
1008 defw doop_mod ;04d3 6f 04 o .
1009 defw doop_and ;04d5 96 04 . .
1010 defw doop_or ;04d7 9e 04 . .
1011 defw doop_xor ;04d9 a6 04 . .
1012 defw 0 ;04db 00 00 . .
1015 call do_factor ;04dd cd e4 04 . . .
1017 jp ERROR ;04e1 c3 07 01 . . .
1020 call chk_sp ;04e4 cd dd 02 . . .
1021 call get.number ;04e7 cd aa 05 . . .
1024 ld hl,ddtz_base-1 ;04ec 21 ff ff ! . .
1025 cp 'T' ;04ef fe 54 . T
1027 ld hl,(high_load) ;04f2 2a 9c 11 * . .
1028 cp 'H' ;04f5 fe 48 . H
1030 ld hl,(max_load) ;04f8 2a 9e 11 * . .
1031 cp 'M' ;04fb fe 4d . M
1033 ld hl,TPA ;04fe 21 00 01 ! . .
1034 cp 'L' ;0501 fe 4c . L
1036 ld hl,(offs.@) ;0504 2a 64 00 * d .
1037 cp '@' ;0507 fe 40 . @
1039 ld hl,(l0062h) ;050a 2a 62 00 * b .
1040 cp '$' ;050d fe 24 . $
1042 cp '-' ;0510 fe 2d . -
1043 jr z,fact_factneg ;0512 28 61 ( a
1044 cp '~' ;0514 fe 7e . ~
1045 jr z,fact_factinv ;0516 28 68 ( h
1046 cp '+' ;0518 fe 2b . +
1047 jr z,fact_factor ;051a 28 c1 ( .
1048 cp '^' ;051c fe 5e . ^
1049 jr z,fact_reg.CPU ;051e 28 45 ( E
1050 cp 'Y' ;0520 fe 59 . Y
1051 jr z,fact_reg.Y ;0522 28 10 ( .
1052 cp '(' ;0524 fe 28 . (
1053 jr z,fact_mem ;0526 28 5d ( ]
1054 cp '[' ;0528 fe 5b . [
1055 jp z,expr_brckt ;052a ca 9d 05 . . .
1056 cp '''' ;052d fe 27 . '
1057 jr z,fact_factstring ;052f 28 17 ( .
1063 call get.decdigit ;0534 cd 1d 06 . . .
1064 jp c,ERROR ;0537 da 07 01 . . .
1067 ld hl,reg_Y ;053c 21 9e 0b ! . .
1068 call add_hl_a ;053f cd b9 02 . . .
1069 ld a,(hl) ;0542 7e ~
1071 ld h,(hl) ;0544 66 f
1077 ld hl,0 ;0548 21 00 00 ! . .
1079 ld a,(de) ;054b 1a .
1080 cp '''' ;054c fe 27 . '
1081 jr z,l0557h ;054e 28 07 ( .
1088 jr l054bh ;0555 18 f4 . .
1091 ld a,(de) ;0558 1a .
1092 cp '''' ;0559 fe 27 . '
1093 jr z,l0552h ;055b 28 f5 ( .
1094 sub '.' ;055d d6 2e . .
1098 set 7,l ;0562 cb fd . .
1102 call sub_0caeh ;0565 cd ae 0c . . .
1103 jr nc,error4 ;0568 30 3d 0 =
1104 ld a,(hl) ;056a 7e ~
1106 ld h,(hl) ;056c 66 f
1109 bit 0,c ;056f cb 41 . A
1111 ld h,000h ;0572 26 00 & .
1115 call fact_factor ;0575 cd dd 04 . . .
1127 call fact_factor ;0580 cd dd 04 . . .
1128 jr cpl.hl ;0583 18 f4 . .
1131 call expr1 ;0585 cd c1 03 . . .
1132 jr c,error4 ;0588 38 1d 8 .
1133 ld a,(de) ;058a 1a .
1134 cp ')' ;058b fe 29 . )
1135 jr nz,error4 ;058d 20 18 .
1137 ld a,(hl) ;0590 7e ~
1139 ld h,(hl) ;0592 66 f
1141 ld a,(de) ;0594 1a .
1143 cp '.' ;0596 fe 2e . .
1151 call expr1 ;059d cd c1 03 . . .
1152 jr c,error4 ;05a0 38 05 8 .
1153 ld a,(de) ;05a2 1a .
1154 cp ']' ;05a3 fe 5d . ]
1158 jp ERROR ;05a7 c3 07 01 . . .
1161 call get.hexdigit ;05aa cd 11 06 . . .
1166 call get.hexdigit ;05b0 cd 11 06 . . .
1167 jr nc,test_number ;05b3 30 fa 0 .
1169 cp '.' ;05b6 fe 2e . .
1170 jr z,get_dec_number ;05b8 28 36 ( 6
1171 cp '"' ;05ba fe 22 . "
1172 jr z,get_bin_number ;05bc 28 17 ( .
1173 ld hl,0 ;05be 21 00 00 ! . .
1175 call get.hexdigit ;05c1 cd 11 06 . . .
1176 jr c,hexnum_done ;05c4 38 0a 8 .
1177 add hl,hl ;05c6 29 )
1178 add hl,hl ;05c7 29 )
1179 add hl,hl ;05c8 29 )
1180 add hl,hl ;05c9 29 )
1181 call add_hl_a ;05ca cd b9 02 . . .
1183 jr next_hexdigit ;05ce 18 f1 . .
1186 xor 'H' ;05d0 ee 48 . H
1192 ld hl,0 ;05d5 21 00 00 ! . .
1194 call get.bindigit ;05d8 cd 22 06 . " .
1197 jr c,l05e4h ;05dc 38 06 8 .
1198 add hl,hl ;05de 29 )
1199 call add_hl_a ;05df cd b9 02 . . .
1200 jr next_bindigit ;05e2 18 f4 . .
1202 cp '"' ;05e4 fe 22 . "
1203 jp nz,ERROR ;05e6 c2 07 01 . . .
1204 call get.bindigit ;05e9 cd 22 06 . " .
1205 jr nc,l05dbh ;05ec 30 ed 0 .
1210 ld hl,0 ;05f0 21 00 00 ! . .
1212 call get.decdigit ;05f3 cd 1d 06 . . .
1214 jr c,decnum_done ;05f7 38 0d 8 .
1216 add hl,hl ;05fa 29 )
1219 add hl,hl ;05fd 29 )
1220 add hl,hl ;05fe 29 )
1221 add hl,bc ;05ff 09 .
1223 call add_hl_a ;0601 cd b9 02 . . .
1224 jr next_decdigit ;0604 18 ed . .
1226 cp '.' ;0606 fe 2e . .
1228 jp ERROR ;0609 c3 07 01 . . .
1231 ld a,(de) ;060c 1a .
1232 cp '[' ;060d fe 5b . [
1233 jr l0614h ;060f 18 03 . .
1236 ld a,(de) ;0611 1a .
1238 cp 'F'+1 ;0612 fe 47 . G
1242 cp 'A' ;0616 fe 41 . A
1243 jr c,l061eh ;0618 38 04 8 .
1244 sub 'A'-10 ;061a d6 37 . 7
1248 ld a,(de) ;061d 1a .
1250 cp '9'+1 ;061e fe 3a . :
1251 jr l0625h ;0620 18 03 . .
1254 ld a,(de) ;0622 1a .
1255 cp '1'+1 ;0623 fe 32 . 2
1259 cp '0' ;0627 fe 30 . 0
1261 sub '0' ;062a d6 30 . 0
1265 call assert_eol ;062d cd d6 02 . . .
1267 call prnt_f ;0630 cd 6e 06 . n .
1268 call outbl2 ;0633 cd 9c 02 . . .
1269 ld hl,b_06e9_start ;0636 21 e9 06 ! . .
1270 ld de,b_0709_start ;0639 11 09 07 . . .
1271 ld b,6 ;063c 06 06 . .
1273 call prnt_regs ;063e cd b2 06 . . .
1274 djnz l063eh ;0641 10 fb . .
1277 ld iy,(REG.PC) ;0645 fd 2a 60 00 . * ` .
1278 call prnt_disas_instr ;0649 cd 65 19 . e .
1280 ex af,af' ;064d 08 .
1281 call crlf ;064e cd a3 02 . . .
1282 call prnt_f2 ;0651 cd 81 06 . . .
1283 call outbl2 ;0654 cd 9c 02 . . .
1286 ld b,7 ;0659 06 07 . .
1288 call prnt_regs ;065b cd b2 06 . . .
1289 djnz l065bh ;065e 10 fb . .
1291 ex af,af' ;0661 08 .
1293 jr z,l066bh ;0663 28 06 ( .
1294 call outbl6 ;0665 cd 96 02 . . .
1295 call prnt_offset ;0668 cd 49 19 . I .
1297 jp crlf ;066b c3 a3 02 . . .
1300 ld a,(reg.f) ;066e 3a 54 00 : T .
1301 call prnt_flags ;0671 cd 8a 06 . . .
1302 ld a,(reg.iff) ;0674 3a 5e 00 : ^ .
1303 cp 0f3h ;0677 fe f3 . .
1304 jp z,outbl ;0679 ca 9f 02 . . .
1305 ld a,'E' ;067c 3e 45 > E
1306 jp outchar ;067e c3 5d 02 . ] .
1308 ld a,(reg.f2) ;0681 3a 4c 00 : L .
1309 call prnt_flags ;0684 cd 8a 06 . . .
1310 jp outbl ;0687 c3 9f 02 . . .
1313 ld a,'S' ;068b 3e 53 > S
1314 call sub_06aah ;068d cd aa 06 . . .
1315 ld a,'Z' ;0690 3e 5a > Z
1316 call sub_06aah ;0692 cd aa 06 . . .
1317 rl b ;0695 cb 10 . .
1318 ld a,'H' ;0697 3e 48 > H
1319 call sub_06aah ;0699 cd aa 06 . . .
1320 rl b ;069c cb 10 . .
1321 ld a,'V' ;069e 3e 56 > V
1322 call sub_06aah ;06a0 cd aa 06 . . .
1323 ld a,'N' ;06a3 3e 4e > N
1324 call sub_06aah ;06a5 cd aa 06 . . .
1325 ld a,'C' ;06a8 3e 43 > C
1327 rl b ;06aa cb 10 . .
1328 jp c,outchar ;06ac da 5d 02 . ] .
1329 jp outbl ;06af c3 9f 02 . . .
1333 call pstr ;06b4 cd 88 02 . . .
1334 ld a,'=' ;06b7 3e 3d > =
1335 call outchar ;06b9 cd 5d 02 . ] .
1336 ex (sp),hl ;06bc e3 .
1337 ld e,(hl) ;06bd 5e ^
1339 ld d,(hl) ;06bf 56 V
1341 ld a,(hl) ;06c1 7e ~
1345 jr z,l06deh ;06c5 28 17 ( .
1347 ld a,(de) ;06c8 1a .
1350 ld a,(de) ;06cb 1a .
1354 jr z,l06d9h ;06cf 28 08 ( .
1355 call out.hl.@ ;06d1 cd a4 01 . . .
1356 call z,outbl6 ;06d4 cc 96 02 . . .
1357 jr l06e2h ;06d7 18 09 . .
1359 call out_hl ;06d9 cd 13 02 . . .
1360 jr l06e2h ;06dc 18 04 . .
1362 ld a,(de) ;06de 1a .
1363 call out_hex ;06df cd 18 02 . . .
1365 call outbl ;06e2 cd 9f 02 . . .
1388 defw reg.a ;0709 55 00 U .
1389 defb 000h ;070b 00 .
1390 defw reg.c ;070c 56 00 V .
1391 defb 001h ;070e 01 .
1392 defw reg.e ;070f 58 00 X .
1393 defb 001h ;0711 01 .
1394 defw reg.l ;0712 5a 00 Z .
1395 defb 001h ;0714 01 .
1396 defw reg_sp ;0715 5c 00 \ .
1397 defb 001h ;0717 01 .
1398 defw REG.PC ;0718 60 00 ` .
1399 defb 002h ;071a 02 .
1400 defw reg.a2 ;071b 4d 00 M .
1401 defb 000h ;071d 00 .
1402 defw reg.c2 ;071e 4a 00 J .
1403 defb 001h ;0720 01 .
1404 defw reg.e2 ;0721 48 00 H .
1405 defb 001h ;0723 01 .
1406 defw reg.l2 ;0724 46 00 F .
1407 defb 001h ;0726 01 .
1408 defw reg.ix ;0727 52 00 R .
1409 defb 001h ;0729 01 .
1410 defw reg.iy ;072a 50 00 P .
1411 defb 001h ;072c 01 .
1412 defw reg.i ;072d 4f 00 O .
1413 defb 000h ;072f 00 .
1414 defb 000h ;0730 00 .
1418 ld (trace_call_flag),a ;0732 32 e3 21 2 . !
1419 ld (l0941h),a ;0735 32 41 09 2 A .
1420 call expr ;0738 cd be 03 . . .
1421 jr c,l0740h ;073b 38 03 8 .
1422 ld (REG.PC),hl ;073d 22 60 00 " ` .
1424 call skipbl ;0740 cd bf 02 . . .
1425 jp z,user_go ;0743 ca 25 0a . % .
1426 cp ';' ;0746 fe 3b . ;
1427 jp nz,ERROR ;0748 c2 07 01 . . .
1429 ld a,002h ;074c 3e 02 > .
1430 call bp_enter ;074e cd 10 08 . . .
1431 jp user_go ;0751 c3 25 0a . % .
1434 ld b,BP_CNT ;0754 06 0c . .
1435 ld ix,bp_tab ;0756 dd 21 b8 0a . ! . .
1437 ld a,(ix+000h) ;075a dd 7e 00 . ~ .
1438 and 0f1h ;075d e6 f1 . .
1439 ld (ix+000h),a ;075f dd 77 00 . w .
1440 call bp_clr_condition ;0762 cd 5f 0a . _ .
1441 ld de,BP_SIZE ;0765 11 08 00 . . .
1442 add ix,de ;0768 dd 19 . .
1443 djnz l075ah ;076a 10 ee . .
1447 call skipbl ;076d cd bf 02 . . .
1448 jr z,l07b7h ;0770 28 45 ( E
1450 cp 'X' ;0773 fe 58 . X
1451 jr z,l077dh ;0775 28 06 ( .
1453 ld a,001h ;0778 3e 01 > .
1454 jp bp_enter ;077a c3 10 08 . . .
1456 call skipbl ;077d cd bf 02 . . .
1457 jr z,bp_clr_all ;0780 28 10 ( .
1459 call expr ;0782 cd be 03 . . .
1460 jp c,assert_eol ;0785 da d6 02 . . .
1462 call bp_clr ;0789 cd 93 07 . . .
1464 call next_arg ;078d cd ca 02 . . .
1465 jr l0782h ;0790 18 f0 . .
1470 ld b,BP_CNT ;0793 06 0c . .
1471 ld ix,bp_tab ;0795 dd 21 b8 0a . ! . .
1474 jr c,l07a7h ;079a 38 0b 8 .
1475 ld e,(ix+002h) ;079c dd 5e 02 . ^ .
1476 ld d,(ix+003h) ;079f dd 56 03 . V .
1477 call cp_hl_de ;07a2 cd ee 02 . . .
1478 jr nz,l07aeh ;07a5 20 07 .
1480 ld (ix+000h),000h ;07a7 dd 36 00 00 . 6 . .
1481 call bp_clr_condition ;07ab cd 5f 0a . _ .
1483 ld de,BP_SIZE ;07ae 11 08 00 . . .
1484 add ix,de ;07b1 dd 19 . .
1486 djnz l0799h ;07b4 10 e3 . .
1490 ld b,BP_CNT ;07b7 06 0c . .
1491 ld ix,bp_tab ;07b9 dd 21 b8 0a . ! . .
1493 bit 0,(ix+000h) ;07bd dd cb 00 46 . . . F
1494 jr z,l0808h ;07c1 28 45 ( E
1495 ld a,'R' ;07c3 3e 52 > R
1496 bit 4,(ix+000h) ;07c5 dd cb 00 66 . . . f
1497 jr nz,l07cdh ;07c9 20 02 .
1498 ld a,' ' ;07cb 3e 20 >
1500 call outchar ;07cd cd 5d 02 . ] .
1501 call outbl ;07d0 cd 9f 02 . . .
1502 ld l,(ix+002h) ;07d3 dd 6e 02 . n .
1503 ld h,(ix+003h) ;07d6 dd 66 03 . f .
1504 call out.hl.@ ;07d9 cd a4 01 . . .
1505 call outbl2 ;07dc cd 9c 02 . . .
1506 ld a,':' ;07df 3e 3a > :
1507 call outchar ;07e1 cd 5d 02 . ] .
1508 ld l,(ix+004h) ;07e4 dd 6e 04 . n .
1509 ld h,(ix+005h) ;07e7 dd 66 05 . f .
1510 call out_hl ;07ea cd 13 02 . . .
1511 ld l,(ix+006h) ;07ed dd 6e 06 . n .
1512 ld h,(ix+007h) ;07f0 dd 66 07 . f .
1515 jr z,l0805h ;07f5 28 0e ( .
1516 call outbl4 ;07f7 cd 99 02 . . .
1517 ld a,'I' ;07fa 3e 49 > I
1518 call outchar ;07fc cd 5d 02 . ] .
1519 call outbl2 ;07ff cd 9c 02 . . .
1520 call pstr ;0802 cd 88 02 . . .
1522 call crlf ;0805 cd a3 02 . . .
1524 ld de,BP_SIZE ;0808 11 08 00 . . .
1525 add ix,de ;080b dd 19 . .
1526 djnz l07bdh ;080d 10 ae . .
1529 ; Add break points to list
1530 ; A = 1 Permanent (B command)
1531 ; A = 2 Temporary (G command)
1535 call skipbl ;0811 cd bf 02 . . .
1537 cp 'R' ;0815 fe 52 . R
1538 jr nz,l081ch ;0817 20 03 .
1540 set 4,b ;081a cb e0 . .
1543 call expr ;081d cd be 03 . . .
1544 jp c,ERROR ;0820 da 07 01 . . .
1546 bit 0,b ;0824 cb 40 . @
1550 call nz,bp_clr ;0829 c4 93 07 . . .
1552 call bp_get_freeslot ;082d cd 54 08 . T .
1554 ld (ix+002h),l ;0831 dd 75 02 . u .
1555 ld (ix+003h),h ;0834 dd 74 03 . t .
1556 call bp_get_count ;0837 cd 6c 08 . l .
1557 ld (ix+004h),l ;083a dd 75 04 . u .
1558 ld (ix+005h),h ;083d dd 74 05 . t .
1559 call bp_get_condition ;0840 cd 7d 08 . } .
1560 ld (ix+006h),l ;0843 dd 75 06 . u .
1561 ld (ix+007h),h ;0846 dd 74 07 . t .
1562 call next_arg ;0849 cd ca 02 . . .
1564 ld (ix+000h),a ;084d dd 77 00 . w .
1565 and 00fh ;0850 e6 0f . .
1566 jr bp_enter ;0852 18 bc . .
1569 ld b,BP_CNT ;0854 06 0c . .
1570 ld ix,bp_tab ;0856 dd 21 b8 0a . ! . .
1572 ld a,(ix+000h) ;085a dd 7e 00 . ~ .
1573 and 00fh ;085d e6 0f . .
1576 ld bc,BP_SIZE ;0861 01 08 00 . . .
1577 add ix,bc ;0864 dd 09 . .
1579 djnz l085ah ;0867 10 f1 . .
1580 jp ERROR ;0869 c3 07 01 . . .
1583 call skipbl ;086c cd bf 02 . . .
1584 ld hl,1 ;086f 21 01 00 ! . .
1585 cp ':' ;0872 fe 3a . :
1588 call expr ;0876 cd be 03 . . .
1589 jp c,ERROR ;0879 da 07 01 . . .
1593 call skipbl ;087d cd bf 02 . . .
1594 cp 'I' ;0880 fe 49 . I
1595 ld hl,0 ;0882 21 00 00 ! . .
1598 call skipbl ;0887 cd bf 02 . . .
1600 call expr ;088b cd be 03 . . .
1601 jp c,ERROR ;088e da 07 01 . . .
1605 sbc hl,de ;0894 ed 52 . R
1608 ld hl,(expr_p1) ;0898 2a 18 0b * . .
1610 add hl,bc ;089c 09 .
1611 ld de,expr_bufe ;089d 11 9c 0b . . .
1612 call cp_hl_de ;08a0 cd ee 02 . . .
1613 jp nc,ERROR ;08a3 d2 07 01 . . .
1615 ld (expr_p2),hl ;08a7 22 1a 0b " . .
1618 ldir ;08ac ed b0 . .
1620 ld (de),a ;08af 12 .
1623 ld (expr_p1),hl ;08b2 22 18 0b " . .
1624 ld hl,(expr_p2) ;08b5 2a 1a 0b * . .
1628 ld (reg.l),hl ;08b9 22 5a 00 " Z .
1631 ld (REG.PC),hl ;08be 22 60 00 " ` .
1632 ld (reg_sp),sp ;08c1 ed 73 5c 00 . s \ .
1633 ld sp,reg.l ;08c5 31 5a 00 1 Z .
1637 push ix ;08cb dd e5 . .
1638 push iy ;08cd fd e5 . .
1639 ld a,i ;08cf ed 57 . W
1640 call sub_0004h ;08d1 cd 04 00 . . .
1642 ld l,000h ;08d5 2e 00 . .
1644 ld a,0f3h ;08d8 3e f3 > .
1645 jp po,l08dfh ;08da e2 df 08 . . .
1646 ld a,0fbh ;08dd 3e fb > .
1648 ld (reg.iff),a ;08df 32 5e 00 2 ^ .
1649 ex af,af' ;08e2 08 .
1655 call sub_097ah ;08e8 cd 7a 09 . z .
1656 ld a,(b_21e2_start) ;08eb 3a e2 21 : . !
1658 jr z,l090bh ;08ef 28 1a ( .
1659 call inchar ;08f1 cd 73 02 . s .
1660 jr c,l0902h ;08f4 38 0c 8 .
1661 call sub_0913h ;08f6 cd 13 09 . . .
1663 jp z,user_go ;08fa ca 25 0a . % .
1664 and 083h ;08fd e6 83 . .
1665 jp z,l2151h ;08ff ca 51 21 . Q !
1667 call bp_clr_temporary ;0902 cd 54 07 . T .
1668 call prnt_cpustat ;0905 cd 30 06 . 0 .
1669 jp mainloop ;0908 c3 bd 00 . . .
1672 ld (b_21e2_start),a ;090b 32 e2 21 2 . !
1673 ld c,007h ;090e 0e 07 . .
1674 jp l0a41h ;0910 c3 41 0a . A .
1677 ld a,080h ;0913 3e 80 > .
1678 ex af,af' ;0915 08 .
1680 ld (l0941h),a ;0917 32 41 09 2 A .
1681 ld b,BP_CNT ;091a 06 0c . .
1682 ld ix,bp_tab ;091c dd 21 b8 0a . ! . .
1684 ld a,(ix+000h) ;0920 dd 7e 00 . ~ .
1685 and 007h ;0923 e6 07 . .
1686 jr z,l0938h ;0925 28 11 ( .
1687 ld e,(ix+002h) ;0927 dd 5e 02 . ^ .
1688 ld d,(ix+003h) ;092a dd 56 03 . V .
1689 ld hl,(REG.PC) ;092d 2a 60 00 * ` .
1690 call cp_hl_de ;0930 cd ee 02 . . .
1692 call z,sub_0942h ;0934 cc 42 09 . B .
1695 ld de,BP_SIZE ;0938 11 08 00 . . .
1696 add ix,de ;093b dd 19 . .
1697 djnz l0920h ;093d 10 e1 . .
1698 ex af,af' ;093f 08 .
1705 ex af,af' ;0942 08 .
1706 res 7,a ;0943 cb bf . .
1707 ex af,af' ;0945 08 .
1708 ld e,(ix+006h) ;0946 dd 5e 06 . ^ .
1709 ld d,(ix+007h) ;0949 dd 56 07 . V .
1712 ld hl,0ffffh ;094e 21 ff ff ! . .
1713 call nz,expr ;0951 c4 be 03 . . .
1716 jr z,l0969h ;0956 28 11 ( .
1717 ld e,(ix+004h) ;0958 dd 5e 04 . ^ .
1718 ld d,(ix+005h) ;095b dd 56 05 . V .
1722 jr z,l0974h ;0961 28 11 ( .
1723 ld (ix+004h),e ;0963 dd 73 04 . s .
1724 ld (ix+005h),d ;0966 dd 72 05 . r .
1726 bit 4,(ix+000h) ;0969 dd cb 00 66 . . . f
1728 ld a,001h ;096e 3e 01 > .
1729 ld (l0941h),a ;0970 32 41 09 2 A .
1732 ex af,af' ;0974 08 .
1733 or (ix+000h) ;0975 dd b6 00 . . .
1734 ex af,af' ;0978 08 .
1738 ld b,BP_CNT ;097a 06 0c . .
1739 ld ix,bp_tab ;097c dd 21 b8 0a . ! . .
1741 bit 5,(ix+000h) ;0980 dd cb 00 6e . . . n
1742 res 5,(ix+000h) ;0984 dd cb 00 ae . . . .
1743 jr z,l099ah ;0988 28 10 ( .
1744 ld l,(ix+002h) ;098a dd 6e 02 . n .
1745 ld h,(ix+003h) ;098d dd 66 03 . f .
1746 ld a,(l0003h) ;0990 3a 03 00 : . .
1748 jr nz,l099ah ;0994 20 04 .
1749 ld a,(ix+001h) ;0996 dd 7e 01 . ~ .
1750 ld (hl),a ;0999 77 w
1752 res 3,(ix+000h) ;099a dd cb 00 9e . . . .
1753 ld de,BP_SIZE ;099e 11 08 00 . . .
1754 add ix,de ;09a1 dd 19 . .
1755 djnz l0980h ;09a3 10 db . .
1759 ld b,BP_CNT ;09a6 06 0c . .
1760 ld ix,bp_tab ;09a8 dd 21 b8 0a . ! . .
1762 ld a,(ix+000h) ;09ac dd 7e 00 . ~ .
1763 and 003h ;09af e6 03 . .
1764 jr z,l09c0h ;09b1 28 0d ( .
1765 ld e,(ix+002h) ;09b3 dd 5e 02 . ^ .
1766 ld d,(ix+003h) ;09b6 dd 56 03 . V .
1767 ld hl,(REG.PC) ;09b9 2a 60 00 * ` .
1768 call cp_hl_de ;09bc cd ee 02 . . .
1771 ld de,BP_SIZE ;09c0 11 08 00 . . .
1772 add ix,de ;09c3 dd 19 . .
1773 djnz l09ach ;09c5 10 e5 . .
1779 call bp_get_freeslot ;09ca cd 54 08 . T .
1780 ld (ix+004h),001h ;09cd dd 36 04 01 . 6 . .
1781 ld (ix+005h),000h ;09d1 dd 36 05 00 . 6 . .
1782 ld (ix+002h),l ;09d5 dd 75 02 . u .
1783 ld (ix+003h),h ;09d8 dd 74 03 . t .
1784 ld (ix+006h),000h ;09db dd 36 06 00 . 6 . .
1785 ld (ix+007h),000h ;09df dd 36 07 00 . 6 . .
1786 ld a,(b_21e2_start) ;09e3 3a e2 21 : . !
1788 ld a,008h ;09e7 3e 08 > .
1789 jr nz,l09edh ;09e9 20 02 .
1790 ld a,004h ;09eb 3e 04 > .
1792 ld (ix+000h),a ;09ed dd 77 00 . w .
1796 ld b,BP_CNT ;09f1 06 0c . .
1797 ld ix,bp_tab ;09f3 dd 21 b8 0a . ! . .
1799 ld a,(ix+000h) ;09f7 dd 7e 00 . ~ .
1801 jr z,l0a1dh ;09fb 28 20 (
1802 set 5,(ix+000h) ;09fd dd cb 00 ee . . . .
1803 ld l,(ix+002h) ;0a01 dd 6e 02 . n .
1804 ld h,(ix+003h) ;0a04 dd 66 03 . f .
1805 ld a,(hl) ;0a07 7e ~
1806 ld (ix+001h),a ;0a08 dd 77 01 . w .
1807 ld a,(l0003h) ;0a0b 3a 03 00 : . .
1808 ld (hl),a ;0a0e 77 w
1809 and 038h ;0a0f e6 38 . 8
1810 ld h,000h ;0a11 26 00 & .
1812 ld (hl),0c3h ;0a14 36 c3 6 .
1814 ld de,bpddtz ;0a17 11 b9 08 . . .
1815 ld (hl),e ;0a1a 73 s
1817 ld (hl),d ;0a1c 72 r
1819 ld de,BP_SIZE ;0a1d 11 08 00 . . .
1820 add ix,de ;0a20 dd 19 . .
1821 djnz l09f7h ;0a22 10 d3 . .
1826 ld (b_21e2_start),a ;0a26 32 e2 21 2 . !
1827 ld a,(l0941h) ;0a29 3a 41 09 : A .
1829 call nz,prnt_cpustat ;0a2d c4 30 06 . 0 .
1830 call sub_09a6h ;0a30 cd a6 09 . . .
1831 ld c,007h ;0a33 0e 07 . .
1832 jr nz,l0a41h ;0a35 20 0a .
1833 ld a,001h ;0a37 3e 01 > .
1834 ld (b_21e2_start),a ;0a39 32 e2 21 2 . !
1835 call sub_1ffeh ;0a3c cd fe 1f . . .
1836 ld c,008h ;0a3f 0e 08 . .
1838 call sub_09f1h ;0a41 cd f1 09 . . .
1839 ld sp,reg.l2 ;0a44 31 46 00 1 F .
1845 ex af,af' ;0a4c 08 .
1847 ld i,a ;0a4e ed 47 . G
1848 pop iy ;0a50 fd e1 . .
1849 pop ix ;0a52 dd e1 . .
1854 ld sp,(reg_sp) ;0a58 ed 7b 5c 00 . { \ .
1855 jp reg.iff ;0a5c c3 5e 00 . ^ .
1858 ld a,(ix+000h) ;0a5f dd 7e 00 . ~ .
1859 and 003h ;0a62 e6 03 . .
1861 ld e,(ix+006h) ;0a65 dd 5e 06 . ^ .
1862 ld d,(ix+007h) ;0a68 dd 56 07 . V .
1870 ld (ix+006h),a ;0a72 dd 77 06 . w .
1871 ld (ix+007h),a ;0a75 dd 77 07 . w .
1872 ld bc,0ffffh ;0a78 01 ff ff . . .
1873 cpir ;0a7b ed b1 . .
1876 ld de,(expr_p1) ;0a7e ed 5b 18 0b . [ . .
1877 call cp_hl_de ;0a82 cd ee 02 . . .
1879 jr nc,l0a93h ;0a86 30 0b 0 .
1880 call sub_0a99h ;0a88 cd 99 0a . . .
1882 ld a,(hl) ;0a8b 7e ~
1885 jr nz,l0a8bh ;0a8f 20 fa .
1886 jr l0a7dh ;0a91 18 ea . .
1888 ld (expr_p1),de ;0a93 ed 53 18 0b . S . .
1893 ld iy,bp_tab ;0a99 fd 21 b8 0a . ! . .
1896 ld e,(iy+006h) ;0a9e fd 5e 06 . ^ .
1897 ld d,(iy+007h) ;0aa1 fd 56 07 . V .
1898 call cp_hl_de ;0aa4 cd ee 02 . . .
1899 jr z,l0ab0h ;0aa7 28 07 ( .
1900 ld de,BP_SIZE ;0aa9 11 08 00 . . .
1901 add iy,de ;0aac fd 19 . .
1902 jr l0a9eh ;0aae 18 ee . .
1905 ld (iy+006h),e ;0ab1 fd 73 06 . s .
1906 ld (iy+007h),d ;0ab4 fd 72 07 . r .
1917 defw expr_buf ;0b18 1c 0b . .
1919 defw expr_buf ;0b1a 1c 0b . .
1923 db '[8101]',CR,LF,'$'
1932 ds EXPR_BUF_SIZE - ($ - expr_buf)
1936 dc 'Yn' ;0b9c 59 ee Y n.
1943 call get.decdigit ;0bb2 cd 1d 06 . . .
1944 jr c,l0bc3h ;0bb5 38 0c 8 .
1947 call assert_eol ;0bb9 cd d6 02 . . .
1949 call sub_0bdch ;0bbd cd dc 0b . . .
1950 jp l0c15h ;0bc0 c3 15 0c . . .
1952 call assert_eol ;0bc3 cd d6 02 . . .
1956 call sub_0bdch ;0bc8 cd dc 0b . . .
1957 call outbl4 ;0bcb cd 99 02 . . .
1960 bit 0,a ;0bd0 cb 47 . G
1962 call z,crlf ;0bd3 cc a3 02 . . .
1964 cp YREG_CNT ;0bd7 fe 0a . .
1965 jr c,l0bc7h ;0bd9 38 ec 8 .
1970 ld b,0 ;0bdd 06 00 . .
1971 add a,'0'+080h ;0bdf c6 b0 . .
1972 ld de,msg_Y+1 ;0be1 11 9d 0b . . .
1973 ld (de),a ;0be4 12 .
1975 ld hl,reg_Y ;0be6 21 9e 0b ! . .
1976 add hl,bc ;0be9 09 .
1977 add hl,bc ;0bea 09 .
1979 ld c,003h ;0bec 0e 03 . .
1980 jp l0c33h ;0bee c3 33 0c . 3 .
1983 call skipbl ;0bf1 cd bf 02 . . .
1984 call sub_0caeh ;0bf4 cd ae 0c . . .
1985 jp nc,prnt_cpustat0 ;0bf7 d2 2d 06 . - .
1986 call assert_eol ;0bfa cd d6 02 . . .
1988 cp 01eh ;0bfe fe 1e . .
1989 jr z,l0c5fh ;0c00 28 5d ( ]
1990 cp 01fh ;0c02 fe 1f . .
1991 jr z,l0c4fh ;0c04 28 49 ( I
1992 cp 01dh ;0c06 fe 1d . .
1993 jp z,ERROR ;0c08 ca 07 01 . . .
1995 ld hl,b_0cc3_start ;0c0c 21 c3 0c ! . .
1996 call sel_dc_string ;0c0f cd 3d 03 . = .
1998 call l0c33h ;0c12 cd 33 0c . 3 .
2000 call outbl ;0c15 cd 9f 02 . . .
2003 call get_line ;0c1a cd 4e 01 . N .
2004 call skipbl ;0c1d cd bf 02 . . .
2005 jr z,l0c30h ;0c20 28 0e ( .
2006 call sub_0363h ;0c22 cd 63 03 . c .
2011 ld (hl),c ;0c29 71 q
2012 bit 0,a ;0c2a cb 47 . G
2015 ld (hl),b ;0c2e 70 p
2023 call pstr ;0c34 cd 88 02 . . .
2024 ld a,'=' ;0c37 3e 3d > =
2025 call outchar ;0c39 cd 5d 02 . ] .
2026 ld a,(de) ;0c3c 1a .
2027 bit 0,b ;0c3d cb 40 . @
2028 jp z,out_hex ;0c3f ca 18 02 . . .
2031 ld a,(de) ;0c44 1a .
2034 bit 1,b ;0c47 cb 48 . H
2035 jp z,out_hl ;0c49 ca 13 02 . . .
2036 jp out.hl.@ ;0c4c c3 a4 01 . . .
2039 call prnt_f ;0c4f cd 6e 06 . n .
2040 ld a,0f3h ;0c52 3e f3 > .
2041 ld (reg.iff),a ;0c54 32 5e 00 2 ^ .
2043 call sub_0c6ah ;0c58 cd 6a 0c . j .
2044 ld (reg.f),a ;0c5b 32 54 00 2 T .
2047 call prnt_f2 ;0c5f cd 81 06 . . .
2049 call sub_0c6ah ;0c63 cd 6a 0c . j .
2050 ld (reg.f2),a ;0c66 32 4c 00 2 L .
2053 ex af,af' ;0c6a 08 .
2054 ld b,000h ;0c6b 06 00 . .
2055 call outbl ;0c6d cd 9f 02 . . .
2056 call assert_eol ;0c70 cd d6 02 . . .
2057 call get_line ;0c73 cd 4e 01 . N .
2059 call skipbl ;0c76 cd bf 02 . . .
2063 ld hl,b_0ca4_start ;0c7c 21 a4 0c ! . .
2064 call lookupch ;0c7f cd f3 02 . . .
2065 jp nc,ERROR ;0c82 d2 07 01 . . .
2067 cp 008h ;0c86 fe 08 . .
2068 jr z,l0c97h ;0c88 28 0d ( .
2073 add a,0c0h ;0c8e c6 c0 . .
2074 ld (l0c94h),a ;0c90 32 94 0c 2 . .
2075 defb 0cbh ;0c93 cb .
2077 defb 0c0h ;0c94 c0 .
2078 jr l0c76h ;0c95 18 df . .
2080 ex af,af' ;0c97 08 .
2081 jp nc,ERROR ;0c98 d2 07 01 . . .
2082 ex af,af' ;0c9b 08 .
2083 ld a,0fbh ;0c9c 3e fb > .
2084 ld (reg.iff),a ;0c9e 32 5e 00 2 ^ .
2086 jr l0c76h ;0ca2 18 d2 . .
2092 call sub_0303h ;0cae cd 03 03 . . .
2097 ld hl,b_0cfa_start ;0cb5 21 fa 0c ! . .
2098 call add_hl_a ;0cb8 cd b9 02 . . .
2099 ld c,(hl) ;0cbb 4e N
2101 ld a,(hl) ;0cbd 7e ~
2103 ld h,(hl) ;0cbf 66 f
2144 defb 003h ;0cfa 03 .
2145 defw reg.c2 ;0cfb 4a 00 J .
2146 defb 003h ;0cfd 03 .
2147 defw reg.e2 ;0cfe 48 00 H .
2148 defb 003h ;0d00 03 .
2149 defw reg.l2 ;0d01 46 00 F .
2150 defb 003h ;0d03 03 .
2151 defw reg.c ;0d04 56 00 V .
2152 defb 003h ;0d06 03 .
2153 defw reg.e ;0d07 58 00 X .
2154 defb 003h ;0d09 03 .
2155 defw reg.l ;0d0a 5a 00 Z .
2156 defb 000h ;0d0c 00 .
2157 defw reg.a2 ;0d0d 4d 00 M .
2158 defb 000h ;0d0f 00 .
2159 defw reg.b2 ;0d10 4b 00 K .
2160 defb 000h ;0d12 00 .
2161 defw reg.c2 ;0d13 4a 00 J .
2162 defb 000h ;0d15 00 .
2163 defw reg.d2 ;0d16 49 00 I .
2164 defb 000h ;0d18 00 .
2165 defw reg.e2 ;0d19 48 00 H .
2166 defb 000h ;0d1b 00 .
2167 defw reg.h2 ;0d1c 47 00 G .
2168 defb 000h ;0d1e 00 .
2169 defw reg.l2 ;0d1f 46 00 F .
2170 defb 000h ;0d21 00 .
2171 defw reg.a ;0d22 55 00 U .
2172 defb 000h ;0d24 00 .
2173 defw reg.b ;0d25 57 00 W .
2174 defb 000h ;0d27 00 .
2175 defw reg.c ;0d28 56 00 V .
2176 defb 000h ;0d2a 00 .
2177 defw reg.d ;0d2b 59 00 Y .
2178 defb 000h ;0d2d 00 .
2179 defw reg.e ;0d2e 58 00 X .
2180 defb 000h ;0d30 00 .
2181 defw reg.h ;0d31 5b 00 [ .
2182 defb 000h ;0d33 00 .
2183 defw reg.l ;0d34 5a 00 Z .
2184 defb 003h ;0d36 03 .
2185 defw reg.ix ;0d37 52 00 R .
2186 defb 003h ;0d39 03 .
2187 defw reg.iy ;0d3a 50 00 P .
2188 defb 003h ;0d3c 03 .
2189 defw reg_sp ;0d3d 5c 00 \ .
2190 defb 003h ;0d3f 03 .
2191 defw REG.PC ;0d40 60 00 ` .
2192 defb 003h ;0d42 03 .
2193 defw reg.ix ;0d43 52 00 R .
2194 defb 003h ;0d45 03 .
2195 defw reg.iy ;0d46 50 00 P .
2196 defb 003h ;0d48 03 .
2197 defw reg_sp ;0d49 5c 00 \ .
2198 defb 003h ;0d4b 03 .
2199 defw REG.PC ;0d4c 60 00 ` .
2200 defb 000h ;0d4e 00 .
2201 defw reg.i ;0d4f 4f 00 O .
2202 defb 003h ;0d51 03 .
2203 defw l004eh ;0d52 4e 00 N .
2204 defb 000h ;0d54 00 .
2205 defw reg.f2 ;0d55 4c 00 L .
2206 defb 000h ;0d57 00 .
2207 defw reg.f ;0d58 54 00 T .
2210 ld hl,(last_S) ;0d5a 2a 90 0d * . .
2211 call get_lastarg_def ;0d5d cd 69 03 . i .
2213 ld (last_S),hl ;0d60 22 90 0d " . .
2214 call out.hl.@ ;0d63 cd a4 01 . . .
2215 call outbl ;0d66 cd 9f 02 . . .
2216 ld a,(hl) ;0d69 7e ~
2217 call out_hex ;0d6a cd 18 02 . . .
2218 call outbl2 ;0d6d cd 9c 02 . . .
2219 call get_line ;0d70 cd 4e 01 . N .
2220 call skipbl ;0d73 cd bf 02 . . .
2222 jr z,l0d60h ;0d77 28 e7 ( .
2225 cp '.' ;0d7b fe 2e . .
2226 jp z,assert_eol ;0d7d ca d6 02 . . .
2227 cp '-' ;0d80 fe 2d . -
2228 jr nz,l0d8ah ;0d82 20 06 .
2229 ld a,(de) ;0d84 1a .
2232 jr z,l0d60h ;0d87 28 d7 ( .
2236 call sub_0ef8h ;0d8b cd f8 0e . . .
2237 jr l0d60h ;0d8e 18 d0 . .
2240 defw TPA ;0d90 00 01 . .
2242 call assert_eol ;0d92 cd d6 02 . . .
2243 ld hl,msg_offset ;0d95 21 a0 0d ! . .
2244 ld de,offs.@ ;0d98 11 64 00 . d .
2245 ld c,001h ;0d9b 0e 01 . .
2246 jp l0c12h ;0d9d c3 12 0c . . .
2252 defw 0 ;0da1 00 00 . .
2254 ld hl,cmd_I ;0da3 21 a3 0d ! . .
2255 ld (cmd_rpt),hl ;0da6 22 68 00 " h .
2256 ld hl,(last_I) ;0da9 2a a1 0d * . .
2257 call get_lastarg_def ;0dac cd 69 03 . i .
2258 ld (last_I),hl ;0daf 22 a1 0d " . .
2261 in a,(c) ;0db4 ed 78 . x
2263 call out_hex ;0db7 cd 18 02 . . .
2264 call outbl4 ;0dba cd 99 02 . . .
2266 call out.bin.b ;0dbe cd c7 01 . . .
2267 jp crlf ;0dc1 c3 a3 02 . . .
2274 ld hl,cmd_O ;0dc7 21 c7 0d ! . .
2275 ld (cmd_rpt),hl ;0dca 22 68 00 " h .
2276 ld hl,(last_O_val) ;0dcd 2a c6 0d * . .
2277 call get_arg_def ;0dd0 cd 6e 03 . n .
2279 ld (last_O_val),a ;0dd4 32 c6 0d 2 . .
2281 call next_arg ;0dd8 cd ca 02 . . .
2282 ld hl,(last_O_addr) ;0ddb 2a c4 0d * . .
2283 call get_lastarg_def ;0dde cd 69 03 . i .
2284 ld (last_O_addr),hl ;0de1 22 c4 0d " . .
2288 out (c),a ;0de7 ed 79 . y
2292 call sub_034eh ;0dea cd 4e 03 . N .
2295 ld a,(de) ;0dee 1a .
2296 ld b,(hl) ;0def 46 F
2298 jr z,l0e10h ;0df1 28 1d ( .
2300 call out.hl.@ ;0df4 cd a4 01 . . .
2301 call outbl ;0df7 cd 9f 02 . . .
2303 call out_hex ;0dfb cd 18 02 . . .
2304 call outbl2 ;0dfe cd 9c 02 . . .
2306 call out_hex ;0e02 cd 18 02 . . .
2307 call outbl ;0e05 cd 9f 02 . . .
2309 call out.hl.@ ;0e09 cd a4 01 . . .
2311 call crlf ;0e0d cd a3 02 . . .
2319 jr nz,l0dedh ;0e16 20 d5 .
2323 ld a,(de) ;0e19 1a .
2324 cp 'V' ;0e1a fe 56 . V
2325 jr nz,l0e1fh ;0e1c 20 01 .
2329 call sub_034eh ;0e20 cd 4e 03 . N .
2333 call cp_hl_de ;0e26 cd ee 02 . . .
2334 jr nc,$+11 ;0e29 30 09 0 .
2335 add hl,bc ;0e2b 09 .
2337 add hl,bc ;0e2d 09 .
2341 lddr ;0e31 ed b8 . .
2342 ld bc,0b0edh ;0e33 01 ed b0 . . .
2347 jr z,l0dedh ;0e3a 28 b1 ( .
2351 call expr ;0e3d cd be 03 . . .
2352 jp c,prnt_max_high0 ;0e40 da 6f 11 . o .
2353 call next_arg ;0e43 cd ca 02 . . .
2355 call expr ;0e47 cd be 03 . . .
2357 call assert_eol ;0e4b cd d6 02 . . .
2361 jr c,l0e5eh ;0e51 38 0b 8 .
2364 add hl,de ;0e55 19 .
2365 call l0e5eh ;0e56 cd 5e 0e . ^ .
2369 sbc hl,de ;0e5c ed 52 . R
2371 call out_hl ;0e5e cd 13 02 . . .
2372 call outbl2 ;0e61 cd 9c 02 . . .
2373 call out_hl_neg ;0e64 cd 0a 02 . . .
2374 call outbl4 ;0e67 cd 99 02 . . .
2375 call out.hl.dec ;0e6a cd e7 01 . . .
2376 call outbl2 ;0e6d cd 9c 02 . . .
2377 call out_hl_dec_neg ;0e70 cd e2 01 . . .
2378 call outbl4 ;0e73 cd 99 02 . . .
2379 call out.bin.w ;0e76 cd c2 01 . . .
2380 call outbl2 ;0e79 cd 9c 02 . . .
2382 call out.ascii ;0e7d cd 34 02 . 4 .
2383 jp crlf ;0e80 c3 a3 02 . . .
2389 ld a,(de) ;0e84 1a .
2390 sub 'J' ;0e85 d6 4a . J
2391 ld (cmd_Q_jopt),a ;0e87 32 83 0e 2 . .
2392 jr nz,l0e8dh ;0e8a 20 01 .
2395 call get_arg_range ;0e8d cd 7d 03 . } .
2398 call sub_0ee6h ;0e92 cd e6 0e . . .
2401 call sub_0ed7h ;0e96 cd d7 0e . . .
2402 jr nz,l0eb0h ;0e99 20 15 .
2405 ld a,(cmd_Q_jopt) ;0e9d 3a 83 0e : . .
2407 jr nz,l0ea7h ;0ea1 20 04 .
2408 ld bc,-8 ;0ea3 01 f8 ff . . .
2409 add hl,bc ;0ea6 09 .
2411 ld bc,16 ;0ea7 01 10 00 . . .
2413 call sub_0f58h ;0eab cd 58 0f . X .
2418 ex (sp),hl ;0eb1 e3 .
2422 ex (sp),hl ;0eb5 e3 .
2423 jr nz,l0e96h ;0eb6 20 de .
2428 call get_arg_range ;0eba cd 7d 03 . } .
2431 call sub_0ee6h ;0ebf cd e6 0e . . .
2439 jp po,l0ed3h ;0ec9 e2 d3 0e . . .
2441 jr nz,l0ec7h ;0ecd 20 f8 .
2443 ldir ;0ed0 ed b0 . .
2453 push hl ;0ed7 e5 d5 . .
2457 ld a,(de) ;0eda 1a .
2459 jr nz,l0ee2h ;0edc 20 04 .
2462 djnz l0edah ;0ee0 10 f8 . .
2470 ld hl,conbuf+1 ;0ee6 21 6b 00 ! k .
2471 call sub_0ef7h ;0ee9 cd f7 0e . . .
2472 ld de,conbuf+1 ;0eec 11 6b 00 . k .
2474 sbc hl,de ;0ef0 ed 52 . R
2477 jp ERROR ;0ef4 c3 07 01 . . .
2480 db 0e6h ;0ef7 e6 and 037h (clear carry)
2485 call next_arg ;0efa cd ca 02 . . .
2486 cp 'W' ;0efd fe 57 . W
2487 jr nz,l0f0eh ;0eff 20 0d .
2490 call sub_035dh ;0f03 cd 5d 03 . ] .
2492 ex (sp),hl ;0f07 e3 .
2493 ld (hl),e ;0f08 73 s
2497 jr l0f1ah ;0f0c 18 0c . .
2499 cp '''' ;0f0e fe 27 . '
2500 jr z,l0f1eh ;0f10 28 0c ( .
2502 call expr ;0f13 cd be 03 . . .
2505 jr c,l0f42h ;0f18 38 28 8 (
2507 ld (hl),a ;0f1a 77 w
2509 jr l0f3ah ;0f1c 18 1c . .
2512 ld a,(de) ;0f1f 1a .
2513 cp '''' ;0f20 fe 27 . '
2514 jr z,l0f2bh ;0f22 28 07 ( .
2516 jr z,l0f42h ;0f25 28 1b ( .
2518 ld (hl),a ;0f27 77 w
2520 jr l0f1eh ;0f29 18 f3 . .
2523 ld a,(de) ;0f2c 1a .
2524 cp '''' ;0f2d fe 27 . '
2525 jr z,l0f27h ;0f2f 28 f6 ( .
2526 cp '.' ;0f31 fe 2e . .
2527 jr nz,l0f3ah ;0f33 20 05 .
2530 set 7,(hl) ;0f37 cb fe . .
2534 jr nc,l0ef9h ;0f3b 30 bc 0 .
2535 ld (last_S),hl ;0f3d 22 90 0d " . .
2536 jr l0ef9h ;0f40 18 b7 . .
2540 ld (last_S),hl ;0f44 22 90 0d " . .
2544 ld hl,cmd_D ;0f48 21 48 0f ! H .
2545 ld (cmd_rpt),hl ;0f4b 22 68 00 " h .
2546 ld hl,(last_D) ;0f4e 2a d5 0e * . .
2547 ld bc,128 ;0f51 01 80 00 . . .
2548 call sub_0377h ;0f54 cd 77 03 . w .
2554 ex af,af' ;0f5b 08 .
2556 call out.hl.@ ;0f5c cd a4 01 . . .
2557 call z,outbl2 ;0f5f cc 9c 02 . . .
2558 call outbl ;0f62 cd 9f 02 . . .
2559 ld de,0 ;0f65 11 00 00 . . .
2561 ld a,(hl) ;0f68 7e ~
2563 call out_hex ;0f6a cd 18 02 . . .
2564 call outbl ;0f6d cd 9f 02 . . .
2568 cp 010h ;0f73 fe 10 . .
2569 jr z,l0f80h ;0f75 28 09 ( .
2570 and 003h ;0f77 e6 03 . .
2571 call z,outbl ;0f79 cc 9f 02 . . .
2574 jr nz,l0f68h ;0f7e 20 e8 .
2576 call outbl ;0f80 cd 9f 02 . . .
2578 sbc hl,de ;0f84 ed 52 . R
2580 ld a,(hl) ;0f86 7e ~
2581 call sub_0fa3h ;0f87 cd a3 0f . . .
2582 call outchar ;0f8a cd 5d 02 . ] .
2585 jr nz,l0f86h ;0f8f 20 f5 .
2586 ex af,af' ;0f91 08 .
2587 jr nc,l0f97h ;0f92 30 03 0 .
2588 ld (last_D),hl ;0f94 22 d5 0e " . .
2590 ex af,af' ;0f97 08 .
2591 call crlf ;0f98 cd a3 02 . . .
2594 jr nz,l0f5ch ;0f9d 20 bd .
2601 and 07fh ;0fa3 e6 7f .
\7f
2602 cp 07fh ;0fa5 fe 7f .
\7f
2603 jr z,l0fach ;0fa7 28 03 ( .
2604 cp ' ' ;0fa9 fe 20 .
2607 ld a,'.' ;0fac 3e 2e > .
2612 ld hl,DMA_BUF+1 ;0fb0 21 81 00 ! . .
2613 ld (hl),' ' ;0fb3 36 20 6
2616 ld a,(de) ;0fb6 1a .
2617 ld (hl),a ;0fb7 77 w
2621 jr nz,l0fb6h ;0fbb 20 f9 .
2623 sub DMA_BUF+2 ;0fbe d6 82 . .
2624 ld (DMA_BUF),a ;0fc0 32 80 00 2 . .
2626 ld de,FCB ;0fc4 11 5c 00 . \ .
2627 call parse_filename ;0fc7 cd cd 0f . . .
2628 ld de,FCB2 ;0fca 11 6c 00 . l .
2631 call sub_102ch ;0fcd cd 2c 10 . , .
2634 ld b,(hl) ;0fd2 46 F
2636 ld a,(hl) ;0fd4 7e ~
2637 cp ':' ;0fd5 fe 3a . :
2638 jr nz,l0fe1h ;0fd7 20 08 .
2641 sub 040h ;0fdb d6 40 . @
2642 and 01fh ;0fdd e6 1f . .
2643 jr l0fe3h ;0fdf 18 02 . .
2648 ld (de),a ;0fe3 12 .
2650 ld b,8 ;0fe5 06 08 . .
2651 call sub_0ff2h ;0fe7 cd f2 0f . . .
2652 ld b,3 ;0fea 06 03 . .
2653 call sub_0ff2h ;0fec cd f2 0f . . .
2659 call sub_1012h ;0ff2 cd 12 10 . . .
2660 jr z,l0ffeh ;0ff5 28 07 ( .
2662 ld (de),a ;0ff8 12 .
2664 djnz sub_0ff2h ;0ffa 10 f6 . .
2665 jr l1003h ;0ffc 18 05 . .
2669 ld (de),a ;0fff 12 .
2671 djnz l0fffh ;1001 10 fc . .
2673 call sub_1012h ;1003 cd 12 10 . . .
2675 jr nz,l1003h ;1007 20 fa .
2676 cp '*' ;1009 fe 2a . *
2677 jr z,l1003h ;100b 28 f6 ( .
2678 cp '.' ;100d fe 2e . .
2684 ld a,(hl) ;1012 7e ~
2685 ld c,' ' ;1013 0e 20 .
2686 and 01fh ;1015 e6 1f . .
2688 ld a,(hl) ;1018 7e ~
2689 cp ' ' ;1019 fe 20 .
2691 call sub_1043h ;101c cd 43 10 . C .
2693 cp '/' ;1020 fe 2f . /
2695 cp '.' ;1023 fe 2e . .
2697 ld c,'?' ;1026 0e 3f . ?
2698 cp '*' ;1028 fe 2a . *
2704 ld a,(hl) ;102c 7e ~
2705 cp '/' ;102d fe 2f . /
2706 jr z,l103bh ;102f 28 0a ( .
2707 call sub_1043h ;1031 cd 43 10 . C .
2708 jr z,l102bh ;1034 28 f5 ( .
2710 cp ' ' ;1036 fe 20 .
2711 jr z,l102bh ;1038 28 f1 ( .
2715 ld a,(hl) ;103b 7e ~
2716 cp ' '+1 ;103c fe 21 . !
2717 jr c,l1036h ;103e 38 f6 8 .
2719 jr l103bh ;1041 18 f8 . .
2722 cp '=' ;1043 fe 3d . =
2724 cp '_' ;1046 fe 5f . _
2726 cp ',' ;1049 fe 2c . ,
2731 ld hl,FCB+12 ;104d 21 68 00 ! h .
2732 ld b,21 ;1050 06 15 . .
2734 ld (hl),a ;1052 77 w
2736 djnz l1052h ;1054 10 fc . .
2737 ld de,DMA_BUF ;1056 11 80 00 . . .
2738 ld c,BDOS_SETDMA ;1059 0e 1a . .
2739 call ddtz_base ;105b cd 00 00 . . .
2740 ld de,FCB ;105e 11 5c 00 . \ .
2744 ld hl,0 ;1062 21 00 00 ! . .
2745 call get_lastarg_def ;1065 cd 69 03 . i .
2748 ld hl,0 ;1069 21 00 00 ! . .
2749 ld (high_load),hl ;106c 22 9c 11 " . .
2750 call fcb_clear_rc ;106f cd 4c 10 . L .
2751 ld c,BDOS_OPEN ;1072 0e 0f . .
2752 call ddtz_base ;1074 cd 00 00 . . .
2754 jp z,ERROR ;1078 ca 07 01 . . .
2755 ld hl,FCB+9 ;107b 21 65 00 ! e .
2756 ld de,str_hex ;107e 11 a5 10 . . .
2757 ld b,3 ;1081 06 03 . .
2758 call strncmp ;1083 cd 67 11 . g .
2760 jr z,read_hexfile ;1087 28 1f ( .
2761 ld de,TPA ;1089 11 00 01 . . .
2762 add hl,de ;108c 19 .
2765 call read_sector ;108e cd 21 11 . ! .
2767 jp z,prnt_max_high ;1092 ca 72 11 . r .
2768 ld de,DMA_BUF ;1095 11 80 00 . . .
2769 ld b,080h ;1098 06 80 . .
2771 ld a,(de) ;109a 1a .
2772 call cmdR_storebyte ;109b cd 36 11 . 6 .
2775 djnz l109ah ;10a0 10 f8 . .
2777 jr l108eh ;10a3 18 e9 . .
2780 db 'HEX' ;10a5 48 H E X
2784 ld a,080h ;10a9 3e 80 > .
2785 ld (cmdR_rindex),a ;10ab 32 20 11 2 .
2787 call read_byte ;10ae cd 05 11 . . .
2788 jr z,rdhex_done ;10b1 28 31 ( 1
2789 cp ':' ;10b3 fe 3a . :
2790 jr nz,l10aeh ;10b5 20 f7 .
2791 ld c,0 ;10b7 0e 00 . .
2792 call read_hexchar ;10b9 cd e8 10 . . .
2794 call read_hexchar ;10bd cd e8 10 . . .
2796 call read_hexchar ;10c1 cd e8 10 . . .
2800 jr z,rdhex_done ;10c7 28 1b ( .
2801 call read_hexchar ;10c9 cd e8 10 . . .
2803 call read_hexchar ;10cc cd e8 10 . . .
2807 add hl,de ;10d2 19 .
2808 call cmdR_storebyte ;10d3 cd 36 11 . 6 .
2811 djnz l10cch ;10d8 10 f2 . .
2812 call read_hexchar ;10da cd e8 10 . . .
2815 jp nz,ERROR ;10df c2 07 01 . . .
2816 jr l10aeh ;10e2 18 ca . .
2819 jp prnt_max_high ;10e5 c3 72 11 . r .
2822 call read_hexdigit ;10e8 cd f9 10 . . .
2828 call read_hexdigit ;10f0 cd f9 10 . . .
2837 call read_byte ;10f9 cd 05 11 . . .
2838 jr z,l1102h ;10fc 28 04 ( .
2839 call hex_digit ;10fe cd 12 06 . . .
2842 jp ERROR ;1102 c3 07 01 . . .
2845 ld a,(cmdR_rindex) ;1105 3a 20 11 : .
2846 cp 080h ;1108 fe 80 . .
2847 jr nz,l1111h ;110a 20 05 .
2848 call read_sector ;110c cd 21 11 . ! .
2853 ld (cmdR_rindex),a ;1112 32 20 11 2 .
2855 add a,07fh ;1116 c6 7f .
\7f
2857 ld h,000h ;1119 26 00 & .
2858 ld a,(hl) ;111b 7e ~
2860 cp 01ah ;111d fe 1a . .
2870 ld de,FCB ;1124 11 5c 00 . \ .
2871 ld c,BDOS_READ ;1127 0e 14 . .
2872 call ddtz_base ;1129 cd 00 00 . . .
2874 jr z,l1132h ;112d 28 03 ( .
2875 jp p,ERROR ;112f f2 07 01 . . .
2885 ld de,TPA ;1138 11 00 01 . . .
2886 call cp_hl_de ;113b cd ee 02 . . .
2887 jp c,ERROR ;113e da 07 01 . . .
2888 ld de,(BDOS+1) ;1141 ed 5b 06 00 . [ . .
2889 call cp_hl_de ;1145 cd ee 02 . . .
2890 jp nc,ERROR ;1148 d2 07 01 . . .
2891 ld de,(high_load) ;114b ed 5b 9c 11 . [ . .
2892 call cp_hl_de ;114f cd ee 02 . . .
2893 jr c,l1157h ;1152 38 03 8 .
2894 ld (high_load),hl ;1154 22 9c 11 " . .
2896 ld de,(max_load) ;1157 ed 5b 9e 11 . [ . .
2897 call cp_hl_de ;115b cd ee 02 . . .
2898 jr c,l1163h ;115e 38 03 8 .
2899 ld (max_load),hl ;1160 22 9e 11 " . .
2903 ld (hl),a ;1165 77 w
2907 ld a,(de) ;1167 1a .
2912 djnz strncmp ;116c 10 f9 . .
2916 call assert_eol ;116f cd d6 02 . . .
2918 ld hl,msg_high ;1172 21 8d 11 ! . .
2919 call pstr ;1175 cd 88 02 . . .
2920 ld hl,(high_load) ;1178 2a 9c 11 * . .
2921 call out_hl ;117b cd 13 02 . . .
2922 ld hl,msg_max ;117e 21 94 11 ! . .
2923 call pstr ;1181 cd 88 02 . . .
2924 ld hl,(max_load) ;1184 2a 9e 11 * . .
2925 call out_hl ;1187 cd 13 02 . . .
2926 jp crlf ;118a c3 a3 02 . . .
2934 defw TPA ;119c 00 01 . .
2936 defw TPA ;119e 00 01 . .
2939 call get_arg_range ;11a0 cd 7d 03 . } .
2940 call assert_eol ;11a3 cd d6 02 . . .
2943 add a,07fh ;11a8 c6 7f .
\7f
2944 jr nc,l11adh ;11aa 30 01 0 .
2947 and 080h ;11ad e6 80 . .
2950 ld a,(FCB+1) ;11b1 3a 5d 00 : ] .
2951 cp ' ' ;11b4 fe 20 .
2952 jr z,error5 ;11b6 28 3b ( ;
2953 call fcb_clear_rc ;11b8 cd 4c 10 . L .
2955 ld c,BDOS_DELETE ;11bc 0e 13 . .
2956 call ddtz_base ;11be cd 00 00 . . .
2958 ld c,BDOS_CREATE ;11c2 0e 16 . .
2959 call ddtz_base ;11c4 cd 00 00 . . .
2961 jr z,error5 ;11c8 28 29 ( )
2967 jr z,close_file ;11ce 28 26 ( &
2969 ld de,080h ;11d1 11 80 00 . . . DMA_BUF
2972 ldir ;11d6 ed b0 . .
2973 call write_sector ;11d8 cd e4 11 . . .
2974 ex (sp),hl ;11db e3 .
2975 ld bc,0ff80h ;11dc 01 80 ff . . .
2976 add hl,bc ;11df 09 .
2977 ex (sp),hl ;11e0 e3 .
2979 jr l11cch ;11e2 18 e8 . .
2983 ld de,FCB ;11e5 11 5c 00 . \ .
2984 ld c,BDOS_WRITE ;11e8 0e 15 . .
2985 call ddtz_base ;11ea cd 00 00 . . .
2989 call close_file ;11f0 cd f6 11 . . .
2991 jp ERROR ;11f3 c3 07 01 . . .
2994 ld de,FCB ;11f6 11 5c 00 . \ .
2995 ld c,BDOS_CLOSE ;11f9 0e 10 . .
2996 jp ddtz_base ;11fb c3 00 00 . . .
2999 ld hl,(last_A) ;11fe 2a 64 12 * d .
3000 call get_lastarg_def ;1201 cd 69 03 . i .
3002 pop iy ;1205 fd e1 . .
3003 ld hl,l1259h ;1207 21 59 12 ! Y .
3004 ld (CMD_ERR),hl ;120a 22 66 00 " f .
3005 ld (l1262h),sp ;120d ed 73 62 12 . s b .
3007 push iy ;1211 fd e5 . .
3009 ld (last_A),hl ;1214 22 64 12 " d .
3010 ld (l0062h),hl ;1217 22 62 00 " b .
3012 call prnt_disas_line ;121b cd 2d 19 . - .
3013 pop iy ;121e fd e1 . .
3015 ld de,(offs.@) ;1221 ed 5b 64 00 . [ d .
3018 ld b,011h ;1227 06 11 . .
3019 jr z,l122dh ;1229 28 02 ( .
3020 ld b,019h ;122b 06 19 . .
3022 call outbl ;122d cd 9f 02 . . .
3023 ld a,(con_col) ;1230 3a 72 02 : r .
3025 jr c,l122dh ;1234 38 f7 8 .
3027 call get_line ;1237 cd 4e 01 . N .
3029 call skipbl ;123b cd bf 02 . . .
3030 cp '.' ;123e fe 2e . .
3032 cp '-' ;1241 fe 2d . -
3033 jr nz,l124bh ;1243 20 06 .
3034 ld iy,(cmd_A_prev) ;1245 fd 2a 66 12 . * f .
3035 jr l1211h ;1249 18 c6 . .
3038 call nz,sub_1268h ;124c c4 68 12 . h .
3039 ld (cmd_A_prev),iy ;124f fd 22 66 12 . " f .
3040 ld b,0 ;1253 06 00 . .
3041 add iy,bc ;1255 fd 09 . .
3042 jr l1211h ;1257 18 b8 . .
3044 call l0146h ;1259 cd 46 01 . F .
3045 ld sp,(l1262h) ;125c ed 7b 62 12 . { b .
3046 jr l1211h ;1260 18 af . .
3051 dw TPA ;1264 00 01 .
3053 dw TPA ;1266 00 01 . .
3056 call skipbl ;1268 cd bf 02 . . .
3057 ld hl,t_MNEMONICS ;126b 21 c6 1e ! . .
3058 call sub_030ah ;126e cd 0a 03 . . .
3059 jp nc,ERROR ;1271 d2 07 01 . . .
3060 call skipbl ;1274 cd bf 02 . . .
3065 ld hl,b_1289_start ;127b 21 89 12 ! . .
3066 call add_hl_a ;127e cd b9 02 . . .
3067 ld e,(hl) ;1281 5e ^
3069 ld d,(hl) ;1283 56 V
3071 ld b,(hl) ;1285 46 F
3077 defw as.ADC_SBC ;ADC 1289 51 15 Q .
3078 defb 088h ; 128b 88 .
3079 defw as.ADD ;ADD 128c 71 15 q .
3080 defb 080h ; 128e 80 .
3081 defw as.AND_CP_OR_SUB_XOR ;AND 128f a8 15 . .
3082 defb 0a0h ; 1291 a0 .
3083 defw as.BITOP ;BIT 1292 09 16 . .
3084 defb 040h ; 1294 40 @
3085 defw as.CALL ;CALL 1295 2d 16 - .
3086 defb 0c4h ; 1297 c4 .
3087 defw as.opc.noarg ;CCF 1298 3b 15 ; .
3088 defb 03fh ; 129a 3f ?
3089 defw as.AND_CP_OR_SUB_XOR ;CP 129b a8 15 . .
3090 defb 0b8h ; 129d b8 .
3091 defw gen.opc.ED2 ;CPD 129e 44 15 D .
3092 defb 0a9h ; 12a0 a9 .
3093 defw gen.opc.ED2 ;CPDR 12a1 44 15 D .
3094 defb 0b9h ; 12a3 b9 .
3095 defw gen.opc.ED2 ;CPI 12a4 44 15 D .
3096 defb 0a1h ; 12a6 a1 .
3097 defw gen.opc.ED2 ;CPIR 12a7 44 15 D .
3098 defb 0b1h ; 12a9 b1 .
3099 defw as.opc.noarg ;CPL 12aa 3b 15 ; .
3100 defb 02fh ; 12ac 2f /
3101 defw as.opc.noarg ;DAA 12ad 3b 15 ; .
3102 defb 027h ; 12af 27 '
3103 defw as.DEC_INC ;DEC 12b0 98 17 . .
3104 defb 005h ; 12b2 05 .
3105 defw as.opc.noarg ;DI 12b3 3b 15 ; .
3106 defb 0f3h ; 12b5 f3 .
3107 defw as.DJNZ ;DJNZ 12b6 99 16 . .
3108 defb 010h ; 12b8 10 .
3109 defw as.opc.noarg ;EI 12b9 3b 15 ; .
3110 defb 0fbh ; 12bb fb .
3111 defw as.EX ;EX 12bc 49 17 I .
3112 defb 0e3h ; 12be e3 .
3113 defw as.opc.noarg ;EXX 12bf 3b 15 ; .
3114 defb 0d9h ; 12c1 d9 .
3115 defw as.opc.noarg ;HALT 12c2 3b 15 ; .
3116 defb 076h ; 12c4 76 v
3117 defw as.IM ;IM 12c5 b4 16 . .
3118 defb 046h ; 12c7 46 F
3119 defw as.IN ;IN 12c8 ed 16 . .
3120 defb 040h ; 12ca 40 @
3121 defw as.DEC_INC ;INC 12cb 98 17 . .
3122 defb 004h ; 12cd 04 .
3123 defw gen.opc.ED2 ;IND 12ce 44 15 D .
3124 defb 0aah ; 12d0 aa .
3125 defw gen.opc.ED2 ;INDR 12d1 44 15 D .
3126 defb 0bah ; 12d3 ba .
3127 defw gen.opc.ED2 ;INI 12d4 44 15 D .
3128 defb 0a2h ; 12d6 a2 .
3129 defw gen.opc.ED2 ;INIR 12d7 44 15 D .
3130 defb 0b2h ; 12d9 b2 .
3131 defw as.JP ;JP 12da 53 16 S .
3132 defb 0c2h ; 12dc c2 .
3133 defw as.JR ;JR 12dd a0 16 . .
3135 defw as.LD ;LD 12e0 52 13 R .
3136 defb 040h ; 12e2 40 @
3137 defw gen.opc.ED2 ;LDD 12e3 44 15 D .
3138 defb 0a8h ; 12e5 a8 .
3139 defw gen.opc.ED2 ;LDDR 12e6 44 15 D .
3140 defb 0b8h ; 12e8 b8 .
3141 defw gen.opc.ED2 ;LDI 12e9 44 15 D .
3142 defb 0a0h ; 12eb a0 .
3143 defw gen.opc.ED2 ;LDIR 12ec 44 15 D .
3144 defb 0b0h ; 12ee b0 .
3145 defw gen.opc.ED2 ;NEG 12ef 44 15 D .
3146 defb 044h ; 12f1 44 D
3147 defw as.opc.noarg ;NOP 12f2 3b 15 ; .
3148 defb 000h ; 12f4 00 .
3149 defw as.AND_CP_OR_SUB_XOR ;OR 12f5 a8 15 . .
3150 defb 0b0h ; 12f7 b0 .
3151 defw gen.opc.ED2 ;OTDR 12f8 44 15 D .
3152 defb 0bbh ; 12fa bb .
3153 defw gen.opc.ED2 ;OTIR 12fb 44 15 D .
3154 defb 0b3h ; 12fd b3 .
3155 defw as.OUT ;OUT 12fe 21 17 ! .
3156 defb 041h ; 1300 41 A
3157 defw gen.opc.ED2 ;OUTD 1301 44 15 D .
3158 defb 0abh ; 1303 ab .
3159 defw gen.opc.ED2 ;OUTI 1304 44 15 D .
3160 defb 0a3h ; 1306 a3 .
3161 defw as.POP_PUSH ;POP 1307 d9 16 . .
3162 defb 0c1h ; 1309 c1 .
3163 defw as.POP_PUSH ;PUSH 130a d9 16 . .
3164 defb 0c5h ; 130c c5 .
3165 defw as.BITOP ;RES 130d 09 16 . .
3166 defb 080h ; 130f 80 .
3167 defw as.RET ;RET 1310 45 16 E .
3168 defb 0c0h ; 1312 c0 .
3169 defw gen.opc.ED2 ;RETI 1313 44 15 D .
3170 defb 04dh ; 1315 4d M
3171 defw gen.opc.ED2 ;RETN 1316 44 15 D .
3172 defb 045h ; 1318 45 E
3173 defw as.SHIFTOP ;RL 1319 d5 15 . .
3174 defb 010h ; 131b 10 .
3175 defw as.opc.noarg ;RLA 131c 3b 15 ; .
3176 defb 017h ; 131e 17 .
3177 defw as.SHIFTOP ;RLC 131f d5 15 . .
3178 defb 000h ; 1321 00 .
3179 defw as.opc.noarg ;RLCA 1322 3b 15 ; .
3180 defb 007h ; 1324 07 .
3181 defw gen.opc.ED2 ;RLD 1325 44 15 D .
3182 defb 06fh ; 1327 6f o
3183 defw as.SHIFTOP ;RR 1328 d5 15 . .
3184 defb 018h ; 132a 18 .
3185 defw as.opc.noarg ;RRA 132b 3b 15 ; .
3186 defb 01fh ; 132d 1f .
3187 defw as.SHIFTOP ;RRC 132e d5 15 . .
3188 defb 008h ; 1330 08 .
3189 defw as.opc.noarg ;RRCA 1331 3b 15 ; .
3190 defb 00fh ; 1333 0f .
3191 defw gen.opc.ED2 ;RRD 1334 44 15 D .
3192 defb 067h ; 1336 67 g
3193 defw as.RST ;RST 1337 ca 16 . .
3194 defb 0c7h ; 1339 c7 .
3195 defw as.ADC_SBC ;SBC 133a 51 15 Q .
3196 defb 098h ; 133c 98 .
3197 defw as.opc.noarg ;SCF 133d 3b 15 ; .
3198 defb 037h ; 133f 37 7
3199 defw as.BITOP ;SET 1340 09 16 . .
3200 defb 0c0h ; 1342 c0 .
3201 defw as.SHIFTOP ;SLA 1343 d5 15 . .
3203 defw as.SHIFTOP ;SRA 1346 d5 15 . .
3204 defb 028h ; 1348 28 (
3205 defw as.SHIFTOP ;SRL 1349 d5 15 . .
3206 defb 038h ; 134b 38 8
3207 defw as.AND_CP_OR_SUB_XOR ;SUB 134c a8 15 . .
3208 defb 090h ; 134e 90 .
3209 defw as.AND_CP_OR_SUB_XOR ;XOR 134f a8 15 . .
3210 defb 0a8h ; 1351 a8 .
3213 call arg.r_HL_A ;1352 cd 2e 18 . . .
3214 jr c,l13d4h ;1355 38 7d 8 }
3215 call arg.IDX_displcmnt ;1357 cd 55 18 . U .
3216 jp c,l1471h ;135a da 71 14 . q .
3217 call arg.ww ;135d cd 1b 18 . . .
3218 jp c,l149ch ;1360 da 9c 14 . . .
3219 call arg.IX_IY ;1363 cd 3d 18 . = .
3220 jp c,l14f5h ;1366 da f5 14 . . .
3221 ld a,(de) ;1369 1a .
3222 cp 'I' ;136a fe 49 . I
3223 jp z,l1511h ;136c ca 11 15 . . .
3224 cp 'R' ;136f fe 52 . R
3225 jp z,l1519h ;1371 ca 19 15 . . .
3226 cp '(' ;1374 fe 28 . (
3227 jp nz,ERROR ;1376 c2 07 01 . . .
3229 call arg.ww ;137a cd 1b 18 . . .
3230 jp c,l1528h ;137d da 28 15 . ( .
3231 call test_expr ;1380 cd 09 18 . . .
3232 call test_paren_close ;1383 cd c5 18 . . .
3233 call assert_comma ;1386 cd be 18 . . .
3234 call arg.ww ;1389 cd 1b 18 . . .
3235 jr c,l13c2h ;138c 38 34 8 4
3236 call arg.IX_IY ;138e cd 3d 18 . = .
3237 jr nc,l13aah ;1391 30 17 0 .
3238 ld b,022h ;1393 06 22 . "
3240 call assert_eol ;1395 cd d6 02 . . .
3241 ld a,(prefix_ixiy) ;1398 3a cc 18 : . .
3243 ld (iy+000h),a ;139b fd 77 00 . w .
3244 ld (iy+001h),b ;139e fd 70 01 . p .
3245 ld (iy+002h),l ;13a1 fd 75 02 . u .
3246 ld (iy+003h),h ;13a4 fd 74 03 . t .
3247 ld c,004h ;13a7 0e 04 . .
3250 ld a,(de) ;13aa 1a .
3251 cp 'A' ;13ab fe 41 . A
3252 jp nz,ERROR ;13ad c2 07 01 . . .
3254 ld b,032h ;13b1 06 32 . 2
3256 call assert_eol ;13b3 cd d6 02 . . .
3257 ld (iy+000h),b ;13b6 fd 70 00 . p .
3258 ld (iy+001h),l ;13b9 fd 75 01 . u .
3259 ld (iy+002h),h ;13bc fd 74 02 . t .
3260 ld c,003h ;13bf 0e 03 . .
3263 cp 020h ;13c2 fe 20 .
3264 jr z,l13d0h ;13c4 28 0a ( .
3265 add a,043h ;13c6 c6 43 . C
3268 call assert_eol ;13c9 cd d6 02 . . .
3269 ld a,0edh ;13cc 3e ed > .
3270 jr l139bh ;13ce 18 cb . .
3272 ld b,022h ;13d0 06 22 . "
3273 jr as.store_3 ;13d2 18 df . .
3276 call assert_comma ;13d5 cd be 18 . . .
3277 call arg.r_HL_A ;13d8 cd 2e 18 . . .
3278 jr nc,l13f0h ;13db 30 13 0 .
3287 add a,040h ;13e5 c6 40 . @
3288 cp 076h ;13e7 fe 76 . v
3289 jp z,ERROR ;13e9 ca 07 01 . . .
3292 jp as.opc.noarg ;13ed c3 3b 15 . ; .
3294 call arg.IDX_displcmnt ;13f0 cd 55 18 . U .
3295 jr nc,l1413h ;13f3 30 1e 0 .
3300 add a,046h ;13f9 c6 46 . F
3301 cp 076h ;13fb fe 76 . v
3302 jp z,ERROR ;13fd ca 07 01 . . .
3306 call assert_eol ;1401 cd d6 02 . . .
3307 ld (iy+001h),b ;1404 fd 70 01 . p .
3308 ld (iy+002h),c ;1407 fd 71 02 . q .
3309 ld a,(prefix_ixiy) ;140a 3a cc 18 : . .
3310 ld (iy+000h),a ;140d fd 77 00 . w .
3311 ld c,003h ;1410 0e 03 . .
3314 ld a,(de) ;1413 1a .
3315 cp 'I' ;1414 fe 49 . I
3316 jr z,l1426h ;1416 28 0e ( .
3317 cp 'R' ;1418 fe 52 . R
3318 jr nz,l1432h ;141a 20 16 .
3320 cp 007h ;141d fe 07 . .
3321 jp nz,ERROR ;141f c2 07 01 . . .
3322 ld b,05fh ;1422 06 5f . _
3323 jr l142eh ;1424 18 08 . .
3326 cp 007h ;1427 fe 07 . .
3327 jp nz,ERROR ;1429 c2 07 01 . . .
3328 ld b,057h ;142c 06 57 . W
3331 jp gen.opc.ED2 ;142f c3 44 15 . D .
3333 cp '(' ;1432 fe 28 . (
3334 jr z,l144ch ;1434 28 16 ( .
3335 call arg.imm_8bit ;1436 cd ff 17 . . .
3340 add a,006h ;143d c6 06 . .
3344 call assert_eol ;1440 cd d6 02 . . .
3345 ld (iy+000h),b ;1443 fd 70 00 . p .
3346 ld (iy+001h),l ;1446 fd 75 01 . u .
3347 ld c,002h ;1449 0e 02 . .
3352 cp 007h ;144e fe 07 . .
3353 jp nz,ERROR ;1450 c2 07 01 . . .
3354 call arg.ww ;1453 cd 1b 18 . . .
3355 jr nc,l1466h ;1456 30 0e 0 .
3356 cp 030h ;1458 fe 30 . 0
3357 jp nc,ERROR ;145a d2 07 01 . . .
3358 add a,00ah ;145d c6 0a . .
3360 call test_paren_close ;1460 cd c5 18 . . .
3361 jp as.opc.noarg ;1463 c3 3b 15 . ; .
3363 call test_expr ;1466 cd 09 18 . . .
3364 call test_paren_close ;1469 cd c5 18 . . .
3365 ld b,03ah ;146c 06 3a . :
3366 jp as.store_3 ;146e c3 b3 13 . . .
3369 call assert_comma ;1471 cd be 18 . . .
3370 call arg.r_HL_A ;1474 cd 2e 18 . . .
3371 jr nc,l1483h ;1477 30 0a 0 .
3372 cp 006h ;1479 fe 06 . .
3373 jp z,ERROR ;147b ca 07 01 . . .
3374 add a,070h ;147e c6 70 . p
3375 jp l1400h ;1480 c3 00 14 . . .
3378 call arg.imm_8bit ;1483 cd ff 17 . . .
3379 call assert_eol ;1486 cd d6 02 . . .
3380 ld a,(prefix_ixiy) ;1489 3a cc 18 : . .
3381 ld (iy+000h),a ;148c fd 77 00 . w .
3382 ld (iy+001h),036h ;148f fd 36 01 36 . 6 . 6
3383 ld (iy+002h),c ;1493 fd 71 02 . q .
3384 ld (iy+003h),l ;1496 fd 75 03 . u .
3385 ld c,004h ;1499 0e 04 . .
3389 call assert_comma ;149d cd be 18 . . .
3390 ld hl,t_HL.AF ;14a0 21 af 1f ! . .
3391 call sub_0318h ;14a3 cd 18 03 . . .
3392 jr c,l14c3h ;14a6 38 1b 8 .
3393 call arg.IX_IY ;14a8 cd 3d 18 . = .
3394 jr nc,l14cch ;14ab 30 1f 0 .
3396 cp 030h ;14ae fe 30 . 0
3397 jr nz,error6 ;14b0 20 73 s
3398 ld b,0f9h ;14b2 06 f9 . .
3400 call assert_eol ;14b4 cd d6 02 . . .
3401 ld a,(prefix_ixiy) ;14b7 3a cc 18 : . .
3402 ld (iy+000h),a ;14ba fd 77 00 . w .
3403 ld (iy+001h),b ;14bd fd 70 01 . p .
3404 ld c,002h ;14c0 0e 02 . .
3408 cp 030h ;14c4 fe 30 . 0
3409 jr nz,error6 ;14c6 20 5d ]
3410 ld b,0f9h ;14c8 06 f9 . .
3411 jr as.opc.noarg ;14ca 18 6f . o
3413 ld a,(de) ;14cc 1a .
3414 cp '(' ;14cd fe 28 . (
3415 jr nz,l14e8h ;14cf 20 17 .
3417 call test_expr ;14d2 cd 09 18 . . .
3418 call test_paren_close ;14d5 cd c5 18 . . .
3420 cp 020h ;14d9 fe 20 .
3421 jr z,l14e3h ;14db 28 06 ( .
3422 add a,04bh ;14dd c6 4b . K
3424 jp l13c9h ;14e0 c3 c9 13 . . .
3426 ld b,02ah ;14e3 06 2a . *
3427 jp as.store_3 ;14e5 c3 b3 13 . . .
3429 call test_expr ;14e8 cd 09 18 . . .
3430 call assert_eol ;14eb cd d6 02 . . .
3431 ld a,001h ;14ee 3e 01 > .
3434 jp as.store_3 ;14f2 c3 b3 13 . . .
3436 call assert_comma ;14f5 cd be 18 . . .
3437 ld a,(de) ;14f8 1a .
3438 cp '(' ;14f9 fe 28 . (
3439 jr nz,l1509h ;14fb 20 0c .
3441 call test_expr ;14fe cd 09 18 . . .
3442 call test_paren_close ;1501 cd c5 18 . . .
3443 ld b,02ah ;1504 06 2a . *
3444 jp l1395h ;1506 c3 95 13 . . .
3446 call test_expr ;1509 cd 09 18 . . .
3447 ld b,021h ;150c 06 21 . !
3448 jp l1395h ;150e c3 95 13 . . .
3451 call assert_comma ;1512 cd be 18 . . .
3452 ld b,047h ;1515 06 47 . G
3453 jr l151fh ;1517 18 06 . .
3456 call assert_comma ;151a cd be 18 . . .
3457 ld b,04fh ;151d 06 4f . O
3459 ld a,(de) ;151f 1a .
3461 cp 'A' ;1521 fe 41 . A
3462 jr z,gen.opc.ED2 ;1523 28 1f ( .
3464 jp ERROR ;1525 c3 07 01 . . .
3467 cp 020h ;1528 fe 20 .
3468 jr nc,error6 ;152a 30 f9 0 .
3469 add a,002h ;152c c6 02 . .
3471 call test_paren_close ;152f cd c5 18 . . .
3472 call assert_comma ;1532 cd be 18 . . .
3473 ld a,(de) ;1535 1a .
3474 cp 'A' ;1536 fe 41 . A
3475 jr nz,error6 ;1538 20 eb .
3478 call assert_eol ;153b cd d6 02 . . .
3479 ld (iy+000h),b ;153e fd 70 00 . p .
3480 ld c,001h ;1541 0e 01 . .
3484 call assert_eol ;1544 cd d6 02 . . .
3485 ld (iy+000h),0edh ;1547 fd 36 00 ed . 6 . .
3486 ld (iy+001h),b ;154b fd 70 01 . p .
3487 ld c,002h ;154e 0e 02 . .
3491 ld hl,t_HL.AF ;1551 21 af 1f ! . .
3492 call sub_0318h ;1554 cd 18 03 . . .
3493 jr nc,as.AND_CP_OR_SUB_XOR ;1557 30 4f 0 O
3494 call assert_comma ;1559 cd be 18 . . .
3495 call arg.ww ;155c cd 1b 18 . . .
3496 jp nc,ERROR ;155f d2 07 01 . . .
3499 cp 088h ;1564 fe 88 . .
3500 ld b,04ah ;1566 06 4a . J
3501 jr z,l156ch ;1568 28 02 ( .
3502 ld b,042h ;156a 06 42 . B
3508 jr gen.opc.ED2 ;156f 18 d3 . .
3510 ld hl,t_HL.AF ;1571 21 af 1f ! . .
3511 call sub_0318h ;1574 cd 18 03 . . .
3512 jr c,l159ah ;1577 38 21 8 !
3513 call arg.IX_IY ;1579 cd 3d 18 . = .
3514 jr nc,as.AND_CP_OR_SUB_XOR ;157c 30 2a 0 *
3515 call assert_comma ;157e cd be 18 . . .
3516 ld hl,t_BC.DE.IX.SP ;1581 21 bd 1f ! . .
3517 ld a,(prefix_ixiy) ;1584 3a cc 18 : . .
3518 cp 0fdh ;1587 fe fd . .
3519 jr nz,l158eh ;1589 20 03 .
3520 ld hl,t_BC.DE.IY.SP ;158b 21 b4 1f ! . .
3522 call arg.reg_16bit ;158e cd 18 18 . . .
3523 jp nc,ERROR ;1591 d2 07 01 . . .
3524 add a,009h ;1594 c6 09 . .
3527 jp l14b4h ;1597 c3 b4 14 . . .
3529 call assert_comma ;159a cd be 18 . . .
3530 call arg.ww ;159d cd 1b 18 . . .
3531 jp nc,ERROR ;15a0 d2 07 01 . . .
3532 add a,009h ;15a3 c6 09 . .
3533 jp l13ech ;15a5 c3 ec 13 . . .
3534 as.AND_CP_OR_SUB_XOR:
3535 ld a,(de) ;15a8 1a .
3536 cp 'A' ;15a9 fe 41 . A
3537 jr nz,l15b8h ;15ab 20 0b .
3540 call next_arg ;15af cd ca 02 . . .
3541 jr z,l15b7h ;15b2 28 03 ( .
3543 jr l15b8h ;15b5 18 01 . .
3547 call arg.r_HL_A ;15b8 cd 2e 18 . . .
3548 jr c,l15cbh ;15bb 38 0e 8 .
3549 call arg.IDX_displcmnt ;15bd cd 55 18 . U .
3550 jr c,l15cfh ;15c0 38 0d 8 .
3551 call arg.imm_8bit ;15c2 cd ff 17 . . .
3553 add a,046h ;15c6 c6 46 . F
3554 jp l143fh ;15c8 c3 3f 14 . ? .
3557 jp l13ech ;15cc c3 ec 13 . . .
3560 add a,006h ;15d0 c6 06 . .
3561 jp l1400h ;15d2 c3 00 14 . . .
3564 call arg.r_HL_A ;15d5 cd 2e 18 . . .
3565 jr c,l15fah ;15d8 38 20 8
3566 call arg.IDX_displcmnt ;15da cd 55 18 . U .
3567 jp nc,ERROR ;15dd d2 07 01 . . .
3569 add a,006h ;15e1 c6 06 . .
3572 call assert_eol ;15e4 cd d6 02 . . .
3573 ld a,(prefix_ixiy) ;15e7 3a cc 18 : . .
3574 ld (iy+000h),a ;15ea fd 77 00 . w .
3575 ld (iy+001h),0cbh ;15ed fd 36 01 cb . 6 . .
3576 ld (iy+002h),c ;15f1 fd 71 02 . q .
3577 ld (iy+003h),b ;15f4 fd 70 03 . p .
3578 ld c,004h ;15f7 0e 04 . .
3585 call assert_eol ;15fc cd d6 02 . . .
3586 ld (iy+001h),b ;15ff fd 70 01 . p .
3587 ld (iy+000h),0cbh ;1602 fd 36 00 cb . 6 . .
3588 ld c,002h ;1606 0e 02 . .
3592 call arg.bit ;1609 cd d3 17 . . .
3593 call assert_comma ;160c cd be 18 . . .
3594 call arg.r_HL_A ;160f cd 2e 18 . . .
3595 jr c,l1624h ;1612 38 10 8 .
3596 call arg.IDX_displcmnt ;1614 cd 55 18 . U .
3597 jp nc,ERROR ;1617 d2 07 01 . . .
3602 add a,006h ;161e c6 06 . .
3605 jr l15e4h ;1622 18 c0 . .
3614 jr l15fbh ;162b 18 ce . .
3618 call arg.cc_ZCPS ;162e cd a5 18 . . .
3619 jr nc,l163ch ;1631 30 09 0 .
3622 call next_arg ;1635 cd ca 02 . . .
3623 jr z,l163eh ;1638 28 04 ( .
3627 ld b,0cdh ;163c 06 cd . .
3630 call test_expr ;163f cd 09 18 . . .
3631 jp as.store_3 ;1642 c3 b3 13 . . .
3634 call arg.cc_ZCPS ;1645 cd a5 18 . . .
3635 jr nc,l164eh ;1648 30 04 0 .
3638 jr l1650h ;164c 18 02 . .
3640 ld b,0c9h ;164e 06 c9 . .
3642 jp as.opc.noarg ;1650 c3 3b 15 . ; .
3646 call arg.cc_ZCPS ;1654 cd a5 18 . . .
3647 jr c,l1666h ;1657 38 0d 8 .
3650 ld hl,l168ch ;165a 21 8c 16 ! . .
3651 call sub_030ah ;165d cd 0a 03 . . .
3652 jr c,l1674h ;1660 38 12 8 .
3653 ld b,0c3h ;1662 06 c3 . .
3654 jr l166eh ;1664 18 08 . .
3659 call next_arg ;1668 cd ca 02 . . .
3660 jr nz,l1659h ;166b 20 ec .
3663 call test_expr ;166e cd 09 18 . . .
3664 jp as.store_3 ;1671 c3 b3 13 . . .
3666 call assert_eol ;1674 cd d6 02 . . .
3669 jr nz,l1680h ;1679 20 05 .
3670 ld b,0e9h ;167b 06 e9 . .
3671 jp as.opc.noarg ;167d c3 3b 15 . ; .
3673 ld b,0ddh ;1680 06 dd . .
3675 jr z,l1687h ;1683 28 02 ( .
3676 ld b,0fdh ;1685 06 fd . .
3678 ld l,0e9h ;1687 2e e9 . .
3679 jp as.store_2 ;1689 c3 40 14 . @ .
3688 call next_arg ;1699 cd ca 02 . . .
3689 ld b,010h ;169c 06 10 . .
3690 jr l16aeh ;169e 18 0e . .
3692 call arg.cc_ZC ;16a0 cd ac 18 . . .
3693 jr c,l16a9h ;16a3 38 04 8 .
3694 ld b,018h ;16a5 06 18 . .
3695 jr l16aeh ;16a7 18 05 . .
3699 call assert_comma ;16ab cd be 18 . . .
3701 call arg.j_displ ;16ae cd dc 17 . . .
3702 jp as.store_2 ;16b1 c3 40 14 . @ .
3705 call arg.imm_8bit ;16b4 cd ff 17 . . .
3707 cp 003h ;16b8 fe 03 . .
3708 jr nc,error2 ;16ba 30 5c 0 \
3710 jr z,l16c7h ;16bd 28 08 ( .
3711 ld b,056h ;16bf 06 56 . V
3712 cp 001h ;16c1 fe 01 . .
3713 jr z,l16c7h ;16c3 28 02 ( .
3714 ld b,05eh ;16c5 06 5e . ^
3716 jp gen.opc.ED2 ;16c7 c3 44 15 . D .
3719 call arg.imm_8bit ;16ca cd ff 17 . . .
3725 and 0c7h ;16d2 e6 c7 . .
3726 jr nz,error2 ;16d4 20 42 B
3727 jp as.opc.noarg ;16d6 c3 3b 15 . ; .
3730 call arg.IX_IY ;16d9 cd 3d 18 . = .
3731 jr c,l16e7h ;16dc 38 09 8 .
3732 call arg.zz ;16de cd 12 18 . . .
3733 jr nc,error2 ;16e1 30 35 0 5
3735 jp l13ech ;16e4 c3 ec 13 . . .
3738 add a,020h ;16e8 c6 20 .
3739 jp l1596h ;16ea c3 96 15 . . .
3742 call arg.r_HL_A ;16ed cd 2e 18 . . .
3743 jr nc,error2 ;16f0 30 26 0 &
3744 cp 006h ;16f2 fe 06 . .
3745 jr z,error2 ;16f4 28 22 ( "
3751 cp 078h ;16fb fe 78 . x
3752 jr nz,l170fh ;16fd 20 10 .
3753 call assert_comma ;16ff cd be 18 . . .
3754 call sub_171bh ;1702 cd 1b 17 . . .
3755 jr c,l1715h ;1705 38 0e 8 .
3756 call arg.addr_8bit ;1707 cd f3 17 . . .
3757 ld b,0dbh ;170a 06 db . .
3758 jp as.store_2 ;170c c3 40 14 . @ .
3760 call assert_comma ;170f cd be 18 . . .
3761 call sub_171bh ;1712 cd 1b 17 . . .
3763 jp c,gen.opc.ED2 ;1715 da 44 15 . D .
3765 jp ERROR ;1718 c3 07 01 . . .
3768 ld hl,t__C_ ;171b 21 f4 1f ! . .
3769 jp sub_0318h ;171e c3 18 03 . . .
3772 call sub_171bh ;1721 cd 1b 17 . . .
3773 jr nc,l1739h ;1724 30 13 0 .
3774 call assert_comma ;1726 cd be 18 . . .
3775 call arg.r_HL_A ;1729 cd 2e 18 . . .
3776 jr nc,error2 ;172c 30 ea 0 .
3777 cp 006h ;172e fe 06 . .
3778 jr z,error2 ;1730 28 e6 ( .
3783 jp l156eh ;1736 c3 6e 15 . n .
3786 call arg.addr_8bit ;1739 cd f3 17 . . .
3787 call assert_comma ;173c cd be 18 . . .
3788 cp 'A' ;173f fe 41 . A
3789 jr nz,error2 ;1741 20 d5 .
3791 ld b,0d3h ;1744 06 d3 . .
3792 jp as.store_2 ;1746 c3 40 14 . @ .
3795 ld hl,b_176d_start ;1749 21 6d 17 ! m .
3796 call sub_030ah ;174c cd 0a 03 . . .
3797 jp nc,ERROR ;174f d2 07 01 . . .
3799 call assert_eol ;1753 cd d6 02 . . .
3800 ld b,000h ;1756 06 00 . .
3801 ld hl,l178eh ;1758 21 8e 17 ! . .
3802 add hl,bc ;175b 09 .
3803 add hl,bc ;175c 09 .
3804 ld a,(hl) ;175d 7e ~
3805 ld (iy+000h),a ;175e fd 77 00 . w .
3806 ld c,001h ;1761 0e 01 . .
3808 ld a,(hl) ;1764 7e ~
3811 ld (iy+001h),a ;1767 fd 77 01 . w .
3812 ld c,002h ;176a 0e 02 . .
3824 db 008h,000h ;178e 08 .
3825 db 0ebh,000h ;1790 eb .
3826 db 0e3h,000h ;1792 e3 .
3827 db 0ddh,0e3h ;1794 dd .
3828 db 0fdh,0e3h ;1796 fd .
3831 call arg.IX_IY ;1798 cd 3d 18 . = .
3832 jr c,l17b3h ;179b 38 16 8 .
3833 call arg.ww ;179d cd 1b 18 . . .
3834 jr c,l17bfh ;17a0 38 1d 8 .
3835 call arg.r_HL_A ;17a2 cd 2e 18 . . .
3836 jr c,l17cch ;17a5 38 25 8 %
3837 call arg.IDX_displcmnt ;17a7 cd 55 18 . U .
3838 jp nc,ERROR ;17aa d2 07 01 . . .
3840 add a,030h ;17ae c6 30 . 0
3841 jp l1400h ;17b0 c3 00 14 . . .
3844 ld b,023h ;17b4 06 23 . #
3845 cp 004h ;17b6 fe 04 . .
3846 jr z,l17bch ;17b8 28 02 ( .
3847 ld b,02bh ;17ba 06 2b . +
3849 jp l14b4h ;17bc c3 b4 14 . . .
3853 ld b,003h ;17c1 06 03 . .
3854 cp 004h ;17c3 fe 04 . .
3855 jr z,l17c9h ;17c5 28 02 ( .
3856 ld b,00bh ;17c7 06 0b . .
3859 jr l17cfh ;17ca 18 03 . .
3866 jp l13ech ;17d0 c3 ec 13 . . .
3869 call arg.imm_8bit ;17d3 cd ff 17 . . .
3871 cp 008h ;17d7 fe 08 . .
3872 jr nc,error3 ;17d9 30 34 0 4
3876 call test_expr ;17dc cd 09 18 . . .
3878 push iy ;17e0 fd e5 . .
3881 sbc hl,bc ;17e4 ed 42 . B
3885 call sub_1802h ;17e9 cd 02 18 . . .
3888 bit 7,a ;17ee cb 7f .
\7f
3889 jr nz,error3 ;17f0 20 1d .
3893 ld a,(de) ;17f3 1a .
3894 cp '(' ;17f4 fe 28 . (
3895 jr nz,arg.imm_8bit ;17f6 20 07 .
3897 call arg.imm_8bit ;17f9 cd ff 17 . . .
3898 jp test_paren_close ;17fc c3 c5 18 . . .
3901 call test_expr ;17ff cd 09 18 . . .
3908 jr error3 ;1807 18 06 . .
3912 call expr ;180a cd be 03 . . .
3916 jp ERROR ;180f c3 07 01 . . .
3920 ld hl,t_BC.DE.HL.AF ;1813 21 ab 1f ! . .
3921 jr l181fh ;1816 18 07 . .
3925 jr l181fh ;1819 18 04 . .
3929 ld hl,t_BC.DE.HL.SP ;181c 21 a2 1f ! . .
3932 call sub_030ah ;1820 cd 0a 03 . . .
3933 jr nc,l182bh ;1823 30 06 0 .
3946 call skipbl ;182e cd bf 02 . . .
3949 ld hl,t_BCDEHL_HL_A ;1833 21 96 1f ! . .
3950 call sub_030ah ;1836 cd 0a 03 . . .
3959 ld hl,t_IX.IY ;183f 21 c8 1f ! . .
3960 call sub_030ah ;1842 cd 0a 03 . . .
3961 jr nc,l1852h ;1845 30 0b 0 .
3962 ld a,0ddh ;1847 3e dd > .
3964 jr nz,l184eh ;184a 20 02 .
3965 ld a,0fdh ;184c 3e fd > .
3967 ld (prefix_ixiy),a ;184e 32 cc 18 2 . .
3977 ld a,(de) ;1857 1a .
3978 cp '(' ;1858 fe 28 . (
3979 jr nz,l18a1h ;185a 20 45 E
3982 ld hl,t_IX.IY ;185e 21 c8 1f ! . .
3983 call sub_030ah ;1861 cd 0a 03 . . .
3984 jr nc,l18a0h ;1864 30 3a 0 :
3986 ld a,0ddh ;1867 3e dd > .
3988 jr nz,l186eh ;186a 20 02 .
3989 ld a,0fdh ;186c 3e fd > .
3991 ld (prefix_ixiy),a ;186e 32 cc 18 2 . .
3992 ld a,(de) ;1871 1a .
3993 cp '+' ;1872 fe 2b . +
3994 jr z,l1882h ;1874 28 0c ( .
3995 cp ')' ;1876 fe 29 . )
3996 ld hl,0 ;1878 21 00 00 ! . .
3997 jr z,l189ah ;187b 28 1d ( .
3998 cp '-' ;187d fe 2d . -
3999 jp nz,ERROR ;187f c2 07 01 . . .
4003 call arg.imm_8bit ;1884 cd ff 17 . . .
4005 cp '+' ;1888 fe 2b . +
4006 jr z,l1894h ;188a 28 08 ( .
4009 ld hl,0 ;188e 21 00 00 ! . .
4011 sbc hl,bc ;1892 ed 42 . B
4013 ld a,(de) ;1894 1a .
4014 cp ')' ;1895 fe 29 . )
4015 jp nz,ERROR ;1897 c2 07 01 . . .
4032 ld hl,t_tstfl_ZCPS ;18a5 21 dc 1f ! . .
4033 ld c,007h ;18a8 0e 07 . .
4034 jr l18b1h ;18aa 18 05 . .
4037 ld hl,t_tstfl_ZC ;18ac 21 cd 1f ! . .
4038 ld c,003h ;18af 0e 03 . .
4041 call sub_030ah ;18b2 cd 0a 03 . . .
4053 call next_arg ;18be cd ca 02 . . .
4056 jp ERROR ;18c2 c3 07 01 . . .
4059 ld a,(de) ;18c5 1a .
4060 cp ')' ;18c6 fe 29 . )
4061 jr nz,l18c2h ;18c8 20 f8 .
4069 ld hl,cmd_L ;18cd 21 cd 18 ! . .
4070 ld (cmd_rpt),hl ;18d0 22 68 00 " h .
4071 call expr ;18d3 cd be 03 . . .
4072 jr nc,l18dbh ;18d6 30 03 0 .
4073 ld hl,(last_L) ;18d8 2a f9 1f * . .
4076 pop iy ;18dc fd e1 . .
4077 call next_arg ;18de cd ca 02 . . .
4078 call get_range ;18e1 cd 9a 03 . . .
4079 jr nc,l1905h ;18e4 30 1f 0 .
4080 call assert_eol ;18e6 cd d6 02 . . .
4081 ld b,16 ;18e9 06 10 . .
4084 push iy ;18ec fd e5 . .
4087 call prnt_disas_line ;18f0 cd 2d 19 . - .
4088 call crlf ;18f3 cd a3 02 . . .
4089 pop iy ;18f6 fd e1 . .
4091 ld b,0 ;18f9 06 00 . .
4092 add iy,bc ;18fb fd 09 . .
4093 ld (last_L),iy ;18fd fd 22 f9 1f . " . .
4095 djnz l18ebh ;1902 10 e7 . .
4098 call assert_eol ;1905 cd d6 02 . . .
4103 jr nz,l190fh ;190c 20 01 .
4107 push iy ;1910 fd e5 . .
4110 call prnt_disas_line ;1914 cd 2d 19 . - .
4111 call crlf ;1917 cd a3 02 . . .
4112 pop iy ;191a fd e1 . .
4114 ld d,000h ;191d 16 00 . .
4115 add iy,de ;191f fd 19 . .
4116 ld (last_L),iy ;1921 fd 22 f9 1f . " . .
4119 sbc hl,de ;1927 ed 52 . R
4122 jr l190fh ;192b 18 e2 . .
4125 call out.hl.@ ;192d cd a4 01 . . .
4126 call z,outbl ;1930 cc 9f 02 . . .
4127 call outbl ;1933 cd 9f 02 . . .
4129 ld (con_col),a ;1937 32 72 02 2 r .
4130 call prnt_disas_instr ;193a cd 65 19 . e .
4135 call outbl ;193f cd 9f 02 . . .
4136 ld a,(con_col) ;1942 3a 72 02 : r .
4137 cp 16 ;1945 fe 10 . .
4138 jr c,l193fh ;1947 38 f6 8 .
4141 ld de,(offs.@) ;1949 ed 5b 64 00 . [ d .
4145 ld a,'(' ;1950 3e 28 > (
4146 call outchar ;1952 cd 5d 02 . ] .
4147 ld a,'@' ;1955 3e 40 > @
4148 call outchar ;1957 cd 5d 02 . ] .
4150 sbc hl,de ;195b ed 52 . R
4151 call out_hl ;195d cd 13 02 . . .
4152 ld a,')' ;1960 3e 29 > )
4153 jp outchar ;1962 c3 5d 02 . ] .
4157 ld (l1ffdh),a ;1966 32 fd 1f 2 . .
4158 call disas_get_instrlen ;1969 cd 8c 19 . . .
4159 jr nc,l197fh ;196c 30 11 0 .
4161 call prnt_mnemonic ;196f cd b9 1e . . .
4163 call sub_19c1h ;1973 cd c1 19 . . .
4165 ld a,(l1ffdh) ;1977 3a fd 1f : . .
4166 ld hl,(l1ffbh) ;197a 2a fb 1f * . .
4171 ld hl,msg_undef_opcode ;197f 21 89 19 ! . .
4172 call pstr ;1982 cd 88 02 . . .
4173 ld b,001h ;1985 06 01 . .
4182 ld (isprefix_ixiy),a ;198d 32 f8 1f 2 . .
4183 ld a,(iy+000h) ;1990 fd 7e 00 . ~ .
4184 cp 0edh ;1993 fe ed . .
4185 jp z,disas_pfx.ED ;1995 ca 19 1a . . .
4186 cp 0ddh ;1998 fe dd . .
4187 jr z,l19abh ;199a 28 0f ( .
4188 cp 0fdh ;199c fe fd . .
4189 jr z,l19afh ;199e 28 0f ( .
4191 ld a,(iy+000h) ;19a0 fd 7e 00 . ~ .
4192 cp 0cbh ;19a3 fe cb . .
4193 jp z,disas_pfx.CB ;19a5 ca 36 1a . 6 .
4194 jp disas_nopfx ;19a8 c3 4d 1a . M .
4196 ld a,1 ;19ab 3e 01 > .
4197 jr l19b1h ;19ad 18 02 . .
4199 ld a,2 ;19af 3e 02 > .
4201 ld (isprefix_ixiy),a ;19b1 32 f8 1f 2 . .
4202 call disas_pfx.DDFD ;19b4 cd c2 19 . . .
4205 call sub_19a0h ;19b9 cd a0 19 . . .
4216 inc iy ;19c2 fd 23 . #
4217 ld hl,b_19ef_start ;19c4 21 ef 19 ! . .
4218 call test_DDFD ;19c7 cd 8c 1a . . .
4219 ld b,002h ;19ca 06 02 . .
4221 ld hl,l1a0ah ;19cd 21 0a 1a ! . .
4222 call test_DDFD ;19d0 cd 8c 1a . . .
4223 ld b,001h ;19d3 06 01 . .
4225 ld a,(iy+000h) ;19d6 fd 7e 00 . ~ .
4226 cp 0cbh ;19d9 fe cb . .
4227 jr nz,l19edh ;19db 20 10 .
4228 ld a,(iy+002h) ;19dd fd 7e 02 . ~ .
4229 cp 036h ;19e0 fe 36 . 6
4231 and 007h ;19e3 e6 07 . .
4232 cp 006h ;19e5 fe 06 . .
4233 jr nz,l19edh ;19e7 20 04 .
4234 ld b,002h ;19e9 06 02 . .
4241 ; DD/FD 3 byte (ix+d)/(iy+d)
4243 defb 034h ;19ef 34 4
4244 defb 035h ;19f0 35 5
4245 defb 036h ;19f1 36 6
4246 defb 046h ;19f2 46 F
4247 defb 04eh ;19f3 4e N
4248 defb 056h ;19f4 56 V
4249 defb 05eh ;19f5 5e ^
4250 defb 066h ;19f6 66 f
4251 defb 06eh ;19f7 6e n
4252 defb 070h ;19f8 70 p
4253 defb 071h ;19f9 71 q
4254 defb 072h ;19fa 72 r
4255 defb 073h ;19fb 73 s
4256 defb 074h ;19fc 74 t
4257 defb 075h ;19fd 75 u
4259 defb 076h ;19fe 76 v ????
4260 defb 077h ;19ff 77 w
4261 defb 07eh ;1a00 7e ~
4262 defb 086h ;1a01 86 .
4263 defb 08eh ;1a02 8e .
4264 defb 096h ;1a03 96 .
4265 defb 09eh ;1a04 9e .
4266 defb 0a6h ;1a05 a6 .
4267 defb 0aeh ;1a06 ae .
4268 defb 0b6h ;1a07 b6 .
4269 defb 0beh ;1a08 be .
4274 defb 009h ;1a0a 09 .
4275 defb 019h ;1a0b 19 .
4276 defb 021h ;1a0c 21 !
4277 defb 022h ;1a0d 22 "
4278 defb 023h ;1a0e 23 #
4279 defb 029h ;1a0f 29 )
4280 defb 02ah ;1a10 2a *
4281 defb 02bh ;1a11 2b +
4282 defb 039h ;1a12 39 9
4283 defb 0e1h ;1a13 e1 .
4284 defb 0e3h ;1a14 e3 .
4285 defb 0e5h ;1a15 e5 .
4286 defb 0e9h ;1a16 e9 .
4287 defb 0f9h ;1a17 f9 .
4291 inc iy ;1a19 fd 23 . #
4292 ld hl,b_1bc9_start ;1a1b 21 c9 1b ! . .
4293 call sub_1a72h ;1a1e cd 72 1a . r .
4294 ld b,2 ;1a21 06 02 . .
4296 ld hl,b_1bf4_start ;1a24 21 f4 1b ! . .
4297 call lookup_opc ;1a27 cd 97 1a . . .
4298 ld b,2 ;1a2a 06 02 . .
4300 ld hl,b_1c40_start ;1a2d 21 40 1c ! @ .
4301 call lookup_opc ;1a30 cd 97 1a . . .
4302 ld b,4 ;1a33 06 04 . .
4306 push iy ;1a36 fd e5 . .
4307 inc iy ;1a38 fd 23 . #
4308 ld a,(isprefix_ixiy) ;1a3a 3a f8 1f : . .
4310 jr z,l1a42h ;1a3e 28 02 ( .
4311 inc iy ;1a40 fd 23 . #
4313 ld hl,b_1c55_start ;1a42 21 55 1c ! U .
4314 call lookup_opc ;1a45 cd 97 1a . . .
4315 pop iy ;1a48 fd e1 . .
4316 ld b,2 ;1a4a 06 02 . .
4320 ld hl,b_1b54_start ;1a4d 21 54 1b ! T .
4321 call lookup_opc ;1a50 cd 97 1a . . .
4322 ld b,2 ;1a53 06 02 . .
4324 ld hl,b_1ab6_start ;1a56 21 b6 1a ! . .
4325 call sub_1a72h ;1a59 cd 72 1a . r .
4326 ld b,1 ;1a5c 06 01 . .
4328 ld hl,b_1ad1_start ;1a5f 21 d1 1a ! . .
4329 call lookup_opc ;1a62 cd 97 1a . . .
4330 ld b,1 ;1a65 06 01 . .
4332 ld hl,b_1b9b_start ;1a68 21 9b 1b ! . .
4333 call lookup_opc ;1a6b cd 97 1a . . .
4335 ld b,3 ;1a6f 06 03 . .
4339 ld a,(hl) ;1a72 7e ~
4340 cp 0ffh ;1a73 fe ff . .
4342 cp (iy+000h) ;1a76 fd be 00 . . .
4343 jr z,l1a7fh ;1a79 28 04 ( .
4346 jr sub_1a72h ;1a7d 18 f3 . .
4349 ld c,(hl) ;1a80 4e N
4350 ld hl,t_MNEMONICS ;1a81 21 c6 1e ! . .
4351 ld b,0 ;1a84 06 00 . .
4352 add hl,bc ;1a86 09 .
4353 ld de,l1c97h ;1a87 11 97 1c . . .
4358 ld a,(hl) ;1a8c 7e ~
4362 cp (iy+000h) ;1a90 fd be 00 . . .
4363 jr nz,test_DDFD ;1a93 20 f7 .
4368 ld a,(iy+000h) ;1a97 fd 7e 00 . ~ .
4372 jr z,l1aa8h ;1a9d 28 09 ( .
4377 ld a,(hl) ;1aa3 7e ~
4379 jr nz,lookup_opc ;1aa5 20 f0 .
4383 ld c,(hl) ;1aa9 4e N
4385 ld e,(hl) ;1aab 5e ^
4387 ld d,(hl) ;1aad 56 V
4388 ld hl,t_MNEMONICS ;1aae 21 c6 1e ! . .
4389 ld b,000h ;1ab1 06 00 . .
4390 add hl,bc ;1ab3 09 .
4394 ; 1 byte opcodes (no parameters)
4395 ; Format: db opcode, t_MNEMONICS-index
4414 ; Format: db mask, match, t_MNEMONICS-index
4415 ; dw argument formating fuction
4417 db 0c0h,040h,056h ;ld r,r
4419 db 0f8h,080h,003h ;add a,r
4421 db 0f8h,088h,000h ;adc a,r
4435 db 0c7h,0c0h,08bh ;ret cc
4437 db 0c7h,0c7h,0b4h ;rst
4439 db 0ffh,0c9h,08bh ;ret
4441 db 0cfh,0c1h,081h ;pop rr
4443 db 0cfh,0c5h,084h ;push rr
4445 db 0ffh,0e3h,034h ;ex (sp),hl
4447 db 0ffh,0e9h,052h ;jp (hl)
4449 db 0ffh,0ebh,034h ;ex de,hl
4451 db 0ffh,0f9h,056h ;ld sp,hl
4453 db 0cfh,003h,041h ;inc rr
4455 db 0cfh,00bh,029h ;dec rr
4457 db 0c7h,004h,041h ;inc r
4459 db 0c7h,005h,029h ;dec r
4461 db 0ffh,008h,034h ;ex af,af'
4463 db 0cfh,009h,003h ;add hl,rr
4465 db 0efh,002h,056h ;ld (rr),a ;rr=bc,de
4467 db 0efh,00ah,056h ;ld a,(rr) ;rr=bc,de
4473 db 0c7h,006h,056h ;ld r,nn
4475 db 0ffh,0c6h,003h ;add a,nn
4477 db 0ffh,0ceh,000h ;adc a,nn
4479 db 0ffh,0d6h,0c9h ;sub a,nn
4481 db 0ffh,0deh,0b7h ;sbc a,nn
4483 db 0ffh,0e6h,006h ;and a,nn
4485 db 0ffh,0eeh,0cch ;xor nn
4487 db 0ffh,0f6h,06ch ;or nn
4489 db 0ffh,0feh,013h ;cp a,nn
4491 db 0ffh,010h,02eh ;djnz
4493 db 0ffh,018h,054h ;jr
4495 db 0e7h,020h,054h ;jr,cc
4497 db 0ffh,0d3h,076h ;out (nn),a
4499 db 0ffh,0dbh,03fh ;in a,(nn)
4525 ; Prefix ED + 1 byte opcode, no arguments
4526 ; Format: opcode, t_MNEMONICS index
4552 db 0e7h,040h,03fh ;in r,(c) ;r=b,c,d,e
4554 db 0f7h,060h,03fh ;in r,(c) ;r=h,l
4556 db 0ffh,078h,03fh ;in r,(c) ;r=a
4558 db 0e7h,041h,076h ;out (c),r ;r=b,c,d,e
4560 db 0f7h,061h,076h ;out (c),r ;r=h,l
4562 db 0ffh,079h,076h ;out (c),r ;r=a
4564 db 0cfh,042h,0b7h ;sbc hl,rr
4566 db 0cfh,04ah,000h ;adc hl,rr
4568 db 0ffh,046h,03dh ;im 0
4570 db 0ffh,056h,03dh ;im 1
4572 db 0ffh,05eh,03dh ;im 2
4574 db 0ffh,047h,056h ;ld i,a
4576 db 0ffh,057h,056h ;ld a,i
4578 db 0ffh,04fh,056h ;ld r,a
4580 db 0ffh,05fh,056h ;ld a,r
4585 db 0efh,043h,056h ;ld (mn),ww ;ww=bc,de
4587 db 0ffh,073h,056h ;ld (mn),sp
4589 db 0efh,04bh,056h ;ld ww,(mn) ;ww=bc,de
4591 db 0ffh,07bh,056h ;ld sp,(mn)
4597 db 0f8h,000h,09bh ;rlc g
4599 db 0f8h,008h,0aah ;rrc g
4601 db 0f8h,010h,096h ;rl g
4603 db 0f8h,018h,0a5h ;rr g
4605 db 0f8h,020h,0c0h ;sla g
4607 db 0f8h,028h,0c3h ;sra g
4609 db 0f8h,038h,0c6h ;srl g
4611 db 0c0h,040h,009h ;bit b,g
4613 db 0c0h,080h,088h ;res b,g
4615 db 0c0h,0c0h,0bdh ;set b,g
4620 call l1e28h ;1c88 cd 28 1e . ( .
4621 call prnt_char_comma ;1c8b cd b4 1e . . .
4622 jp l1e30h ;1c8e c3 30 1e . 0 .
4624 call prnt_A_comma ;1c91 cd b1 1e . . .
4625 jp l1e30h ;1c94 c3 30 1e . 0 .
4629 ld a,(iy+000h) ;1c98 fd 7e 00 . ~ .
4630 and 038h ;1c9b e6 38 . 8
4631 jp out_hex ;1c9d c3 18 02 . . .
4633 ld hl,b_1ca9_start ;1ca0 21 a9 1c ! . .
4634 call pstr ;1ca3 cd 88 02 . . .
4635 jp prnt_arg_hlixiy ;1ca6 c3 7e 1e . ~ .
4640 ld a,'(' ;1cae 3e 28 > (
4641 call outchar ;1cb0 cd 5d 02 . ] .
4642 call prnt_arg_hlixiy ;1cb3 cd 7e 1e . ~ .
4643 ld a,')' ;1cb6 3e 29 > )
4644 jp outchar ;1cb8 c3 5d 02 . ] .
4646 ld hl,l1773h ;1cbb 21 73 17 ! s .
4647 jp pstr ;1cbe c3 88 02 . . .
4649 ld hl,b_1cca_start ;1cc1 21 ca 1c ! . .
4650 call pstr ;1cc4 cd 88 02 . . .
4651 jp prnt_arg_hlixiy ;1cc7 c3 7e 1e . ~ .
4656 ld hl,b_176d_start ;1ccd 21 6d 17 ! m .
4657 jp pstr ;1cd0 c3 88 02 . . .
4659 call prnt_arg_hlixiy ;1cd3 cd 7e 1e . ~ .
4660 call prnt_char_comma ;1cd6 cd b4 1e . . .
4661 jp prnt_arg_ww ;1cd9 c3 8b 1e . . .
4663 call sub_1ce8h ;1cdc cd e8 1c . . .
4664 call prnt_char_comma ;1cdf cd b4 1e . . .
4665 jp prnt_char_A ;1ce2 c3 3d 1d . = .
4668 call prnt_A_comma ;1ce5 cd b1 1e . . .
4670 ld a,'(' ;1ce8 3e 28 > (
4671 call outchar ;1cea cd 5d 02 . ] .
4672 call prnt_arg_ww ;1ced cd 8b 1e . . .
4673 ld a,')' ;1cf0 3e 29 > )
4674 jp outchar ;1cf2 c3 5d 02 . ] .
4676 call prnt_A_comma ;1cf5 cd b1 1e . . .
4677 jr l1d09h ;1cf8 18 0f . .
4679 call l1e28h ;1cfa cd 28 1e . ( .
4680 call prnt_char_comma ;1cfd cd b4 1e . . .
4681 ld a,(isprefix_ixiy) ;1d00 3a f8 1f : . .
4683 ld a,(iy+002h) ;1d04 fd 7e 02 . ~ .
4684 jr nz,l1d0ch ;1d07 20 03 .
4686 ld a,(iy+001h) ;1d09 fd 7e 01 . ~ .
4688 jp out_hex ;1d0c c3 18 02 . . .
4691 ld a,(iy+000h) ;1d0f fd 7e 00 . ~ .
4692 and 018h ;1d12 e6 18 . .
4693 call prnt_arg_cc0 ;1d14 cd a0 1e . . .
4694 call prnt_char_comma ;1d17 cd b4 1e . . .
4696 ld c,(iy+001h) ;1d1a fd 4e 01 . N .
4701 push iy ;1d21 fd e5 . .
4703 add hl,bc ;1d24 09 .
4706 jr l1d4eh ;1d27 18 25 . %
4708 call prnt_A_comma ;1d29 cd b1 1e . . .
4710 ld a,'(' ;1d2c 3e 28 > (
4711 call outchar ;1d2e cd 5d 02 . ] .
4712 ld a,(iy+001h) ;1d31 fd 7e 01 . ~ .
4713 jp l1e6bh ;1d34 c3 6b 1e . k .
4715 call sub_1d2ch ;1d37 cd 2c 1d . , .
4716 call prnt_char_comma ;1d3a cd b4 1e . . .
4718 ld a,'A' ;1d3d 3e 41 > A
4719 jp outchar ;1d3f c3 5d 02 . ] .
4722 call prnt_arg_cc ;1d42 cd 9d 1e . . .
4723 call prnt_char_comma ;1d45 cd b4 1e . . .
4725 ld l,(iy+001h) ;1d48 fd 6e 01 . n .
4726 ld h,(iy+002h) ;1d4b fd 66 02 . f .
4728 ld a,002h ;1d4e 3e 02 > .
4730 ld (l1ffdh),a ;1d50 32 fd 1f 2 . .
4731 ld (l1ffbh),hl ;1d53 22 fb 1f " . .
4732 call out_hl ;1d56 cd 13 02 . . .
4735 call prnt_arg_ww ;1d5a cd 8b 1e . . .
4736 call prnt_char_comma ;1d5d cd b4 1e . . .
4737 jr l1d48h ;1d60 18 e6 . .
4739 call sub_1e13h ;1d62 cd 13 1e . . .
4740 call prnt_char_comma ;1d65 cd b4 1e . . .
4741 jp prnt_arg_hlixiy ;1d68 c3 7e 1e . ~ .
4743 call prnt_arg_hlixiy ;1d6b cd 7e 1e . ~ .
4744 call prnt_char_comma ;1d6e cd b4 1e . . .
4745 jp sub_1e13h ;1d71 c3 13 1e . . .
4747 call sub_1e13h ;1d74 cd 13 1e . . .
4748 call prnt_char_comma ;1d77 cd b4 1e . . .
4749 ld a,'A' ;1d7a 3e 41 > A
4750 jp outchar ;1d7c c3 5d 02 . ] .
4752 call prnt_A_comma ;1d7f cd b1 1e . . .
4753 jp sub_1e13h ;1d82 c3 13 1e . . .
4755 ld a,'0' ;1d85 3e 30 > 0
4756 jr l1d8fh ;1d87 18 06 . .
4758 ld a,'1' ;1d89 3e 31 > 1
4759 jr l1d8fh ;1d8b 18 02 . .
4761 ld a,'2' ;1d8d 3e 32 > 2
4763 jp outchar ;1d8f c3 5d 02 . ] .
4765 ld hl,b_1da7_start ;1d92 21 a7 1d ! . .
4766 jr l1da4h ;1d95 18 0d . .
4768 ld hl,l1daah ;1d97 21 aa 1d ! . .
4769 jr l1da4h ;1d9a 18 08 . .
4771 ld hl,l1dadh ;1d9c 21 ad 1d ! . .
4772 jr l1da4h ;1d9f 18 03 . .
4774 ld hl,l1db0h ;1da1 21 b0 1d ! . .
4776 jp pstr ;1da4 c3 88 02 . . .
4788 call l1e28h ;1db3 cd 28 1e . ( .
4789 call prnt_char_comma ;1db6 cd b4 1e . . .
4790 ld hl,t__C_ ;1db9 21 f4 1f ! . .
4791 jp pstr ;1dbc c3 88 02 . . .
4793 ld hl,t__C_ ;1dbf 21 f4 1f ! . .
4794 call pstr ;1dc2 cd 88 02 . . .
4795 call prnt_char_comma ;1dc5 cd b4 1e . . .
4796 jr l1e28h ;1dc8 18 5e . ^
4798 call prnt_arg_hlixiy ;1dca cd 7e 1e . ~ .
4799 call prnt_char_comma ;1dcd cd b4 1e . . .
4800 jp prnt_arg_ww ;1dd0 c3 8b 1e . . .
4802 call sub_1e13h ;1dd3 cd 13 1e . . .
4803 call prnt_char_comma ;1dd6 cd b4 1e . . .
4804 jp prnt_arg_ww ;1dd9 c3 8b 1e . . .
4806 call prnt_arg_ww ;1ddc cd 8b 1e . . .
4807 call prnt_char_comma ;1ddf cd b4 1e . . .
4808 jr sub_1e13h ;1de2 18 2f . /
4810 ld a,(isprefix_ixiy) ;1de4 3a f8 1f : . .
4812 jr nz,l1defh ;1de8 20 05 .
4813 ld a,(iy+001h) ;1dea fd 7e 01 . ~ .
4814 jr l1df2h ;1ded 18 03 . .
4816 ld a,(iy+002h) ;1def fd 7e 02 . ~ .
4822 and 007h ;1df6 e6 07 . .
4823 add a,'0' ;1df8 c6 30 . 0
4824 call outchar ;1dfa cd 5d 02 . ] .
4825 call prnt_char_comma ;1dfd cd b4 1e . . .
4827 jr l1e33h ;1e01 18 30 . 0
4829 ld a,(isprefix_ixiy) ;1e03 3a f8 1f : . .
4831 jr nz,l1e0eh ;1e07 20 05 .
4832 ld a,(iy+001h) ;1e09 fd 7e 01 . ~ .
4833 jr l1e11h ;1e0c 18 03 . .
4835 ld a,(iy+002h) ;1e0e fd 7e 02 . ~ .
4837 jr l1e33h ;1e11 18 20 .
4839 ld a,'(' ;1e13 3e 28 > (
4840 call outchar ;1e15 cd 5d 02 . ] .
4841 ld l,(iy+001h) ;1e18 fd 6e 01 . n .
4842 ld h,(iy+002h) ;1e1b fd 66 02 . f .
4843 ld a,001h ;1e1e 3e 01 > .
4844 call sub_1d50h ;1e20 cd 50 1d . P .
4845 ld a,')' ;1e23 3e 29 > )
4846 jp outchar ;1e25 c3 5d 02 . ] .
4848 ld a,(iy+000h) ;1e28 fd 7e 00 . ~ .
4852 jr l1e33h ;1e2e 18 03 . .
4854 ld a,(iy+000h) ;1e30 fd 7e 00 . ~ .
4856 and 007h ;1e33 e6 07 . .
4857 cp 006h ;1e35 fe 06 . .
4858 jr nz,prnt_arg_r ;1e37 20 3a :
4859 ld a,(isprefix_ixiy) ;1e39 3a f8 1f : . .
4861 ld a,006h ;1e3d 3e 06 > .
4862 jr z,prnt_arg_r ;1e3f 28 32 ( 2
4863 ld hl,b_1e78_start ;1e41 21 78 1e ! x .
4864 ld a,(isprefix_ixiy) ;1e44 3a f8 1f : . .
4866 jr z,l1e4dh ;1e48 28 03 ( .
4867 ld hl,l1e7bh ;1e4a 21 7b 1e ! { .
4869 call pstr ;1e4d cd 88 02 . . .
4870 ld a,(iy+001h) ;1e50 fd 7e 01 . ~ .
4872 jp m,l1e61h ;1e54 fa 61 1e . a .
4873 ld a,'+' ;1e57 3e 2b > +
4874 call outchar ;1e59 cd 5d 02 . ] .
4875 ld a,(iy+001h) ;1e5c fd 7e 01 . ~ .
4876 jr l1e6bh ;1e5f 18 0a . .
4878 ld a,'-' ;1e61 3e 2d > -
4879 call outchar ;1e63 cd 5d 02 . ] .
4880 ld a,(iy+001h) ;1e66 fd 7e 01 . ~ .
4883 call out_hex ;1e6b cd 18 02 . . .
4884 ld a,')' ;1e6e 3e 29 > )
4885 jp outchar ;1e70 c3 5d 02 . ] .
4888 ld hl,t_BCDEHL_HL_A ;1e73 21 96 1f ! . .
4889 jr prnt_arg ;1e76 18 32 . 2
4897 ld a,(isprefix_ixiy) ;1e7e 3a f8 1f : . .
4898 ld hl,t_HL.IX.IY ;1e81 21 c6 1f ! . .
4899 jr prnt_arg ;1e84 18 24 . $
4901 ld hl,t_BC.DE.HL.AF ;1e86 21 ab 1f ! . .
4902 jr l1e8eh ;1e89 18 03 . .
4904 ld hl,t_BC.DE.HL.SP ;1e8b 21 a2 1f ! . .
4906 ld a,(iy+000h) ;1e8e fd 7e 00 . ~ .
4911 and 003h ;1e95 e6 03 . .
4912 cp 002h ;1e97 fe 02 . .
4913 jr z,prnt_arg_hlixiy ;1e99 28 e3 ( .
4914 jr prnt_arg ;1e9b 18 0d . .
4917 ld a,(iy+000h) ;1e9d fd 7e 00 . ~ .
4922 and 007h ;1ea3 e6 07 . .
4923 ld hl,t_tstfl_ZCPS ;1ea5 21 dc 1f ! . .
4924 jr l1eaah ;1ea8 18 00 . .
4928 call sel_dc_string ;1eab cd 3d 03 . = .
4929 jp pstr ;1eae c3 88 02 . . .
4932 call prnt_char_A ;1eb1 cd 3d 1d . = .
4934 ld a,',' ;1eb4 3e 2c > ,
4935 jp outchar ;1eb6 c3 5d 02 . ] .
4938 call pstr ;1eb9 cd 88 02 . . .
4940 call outbl ;1ebc cd 9f 02 . . .
4943 cp 5 ;1ec1 fe 05 . .
4944 jr nz,l1ebch ;1ec3 20 f7 .
5103 dw TPA ;1ff9 00 01 .
5110 ld hl,(REG.PC) ;1ffe 2a 60 00 * ` .
5113 jr z,l2037h ;2003 28 32 ( 2
5114 ld de,BDOS ;2005 11 05 00 . . .
5116 sbc hl,de ;2009 ed 52 . R
5117 ld hl,l20edh ;200b 21 ed 20 ! .
5118 jr z,l2031h ;200e 28 21 ( !
5119 ld iy,(REG.PC) ;2010 fd 2a 60 00 . * ` .
5120 call disas_get_instrlen ;2014 cd 8c 19 . . .
5121 jp nc,ERROR ;2017 d2 07 01 . . .
5123 ld b,000h ;201b 06 00 . .
5124 ld hl,(REG.PC) ;201d 2a 60 00 * ` .
5125 add hl,bc ;2020 09 .
5126 call sub_09cah ;2021 cd ca 09 . . .
5127 ld iy,(REG.PC) ;2024 fd 2a 60 00 . * ` .
5128 ld hl,b_2039_start ;2028 21 39 20 ! 9
5129 call lookup_opc ;202b cd 97 1a . . .
5134 call CALL_HL ;2031 cd 0f 01 . . .
5135 call c,sub_09cah ;2034 dc ca 09 . . .
5141 db 0ffh,0ddh,000h ;Prefix DD
5143 db 0ffh,0fdh,000h ;Prefix FD
5145 db 0ffh,0edh,000h ;Prefix ED
5149 db 0ffh,0cdh,000h ;call mn
5151 db 0ffh,0c3h,000h ;jp mn
5153 db 0ffh,0e9h,000h ;jp ()
5155 db 0ffh,0c9h,000h ;ret
5157 db 0ffh,0cfh,000h ;rst 8
5174 ld a,(b_21e2_start) ;2080 3a e2 21 : . !
5176 jr nz,l208bh ;2084 20 05 .
5177 ld a,(trace_call_flag) ;2086 3a e3 21 : . !
5181 ld l,(iy+001h) ;208b fd 6e 01 . n .
5182 ld h,(iy+002h) ;208e fd 66 02 . f .
5186 ld c,(iy+001h) ;2093 fd 4e 01 . N .
5191 ld hl,(REG.PC) ;209a 2a 60 00 * ` .
5192 add hl,bc ;209d 09 .
5198 ld hl,(reg.l) ;20a2 2a 5a 00 * Z .
5202 ld hl,(reg.ix) ;20a7 2a 52 00 * R .
5203 jr l20afh ;20aa 18 03 . .
5205 ld hl,(reg.iy) ;20ac 2a 50 00 * P .
5207 ld a,(iy+001h) ;20af fd 7e 01 . ~ .
5208 cp 0e9h ;20b2 fe e9 . .
5214 ld a,(iy+001h) ;20b8 fd 7e 01 . ~ .
5215 cp 04dh ;20bb fe 4d . M
5216 jr z,l20dch ;20bd 28 1d ( .
5217 cp 045h ;20bf fe 45 . E
5218 jr z,l20dch ;20c1 28 19 ( .
5222 ld a,(iy+000h) ;20c5 fd 7e 00 . ~ .
5223 ld (l20d7h),a ;20c8 32 d7 20 2 .
5224 ld hl,(reg.f) ;20cb 2a 54 00 * T .
5227 call l20d7h ;20d0 cd d7 20 . .
5229 jr c,l20dch ;20d4 38 06 8 .
5239 ld a,(b_21e2_start) ;20dc 3a e2 21 : . !
5241 jr nz,l20edh ;20e0 20 0b .
5242 ld a,(trace_call_flag) ;20e2 3a e3 21 : . !
5244 jr z,l20edh ;20e6 28 05 ( .
5245 call l20edh ;20e8 cd ed 20 . .
5249 ld hl,(reg_sp) ;20ed 2a 5c 00 * \ .
5250 ld e,(hl) ;20f0 5e ^
5252 ld d,(hl) ;20f2 56 V
5254 call sub_09cah ;20f4 cd ca 09 . . .
5259 ld a,(l0003h) ;20f9 3a 03 00 : . .
5260 cp (iy+000h) ;20fc fd be 00 . . .
5262 ld a,(iy+000h) ;2100 fd 7e 00 . ~ .
5263 and 038h ;2103 e6 38 . 8
5265 ld h,000h ;2106 26 00 & .
5266 ld a,(b_21e2_start) ;2108 3a e2 21 : . !
5268 jr nz,l2113h ;210c 20 05 .
5269 ld a,(trace_call_flag) ;210e 3a e3 21 : . !
5279 ld hl,cmd_C ;2117 21 17 21 ! . !
5280 ld a,001h ;211a 3e 01 > .
5281 jr l2122h ;211c 18 04 . .
5284 ld hl,cmd_T ;211f 21 1e 21 ! . !
5286 ld (cmd_rpt),hl ;2122 22 68 00 " h .
5287 ld (trace_call_flag),a ;2125 32 e3 21 2 . !
5288 ld a,(de) ;2128 1a .
5289 sub 'N' ;2129 d6 4e . N
5290 jr nz,l212eh ;212b 20 01 .
5293 ld (trace_N_flag),a ;212e 32 e7 21 2 . !
5294 ld a,(de) ;2131 1a .
5295 sub 'J' ;2132 d6 4a . J
5296 jr nz,l2137h ;2134 20 01 .
5299 ld (trace_J_flag),a ;2137 32 e8 21 2 . !
5300 call sub_21a6h ;213a cd a6 21 . . !
5301 jr z,l2145h ;213d 28 06 ( .
5302 ld hl,1 ;213f 21 01 00 ! . .
5303 call get_lastarg_def ;2142 cd 69 03 . i .
5305 ld (trace_count),hl ;2145 22 e5 21 " . !
5307 ld (l0941h),a ;2149 32 41 09 2 A .
5309 call sub_1ffeh ;214c cd fe 1f . . .
5310 jr l21a3h ;214f 18 52 . R
5313 call bp_clr_temporary ;2151 cd 54 07 . T .
5314 ld a,(trace_J_flag) ;2154 3a e8 21 : . !
5316 jr nz,l216bh ;2158 20 11 .
5317 ld iy,(REG.PC) ;215a fd 2a 60 00 . * ` .
5318 call sub_21c8h ;215e cd c8 21 . . !
5319 jr z,l216bh ;2161 28 08 ( .
5320 ld hl,b_2048_start ;2163 21 48 20 ! H
5321 call lookup_opc ;2166 cd 97 1a . . .
5322 jr nc,l214ch ;2169 30 e1 0 .
5324 ld a,(trace_UW_flag) ;216b 3a e4 21 : . !
5326 jr z,l2188h ;216f 28 17 ( .
5327 ld de,(trace_count) ;2171 ed 5b e5 21 . [ . !
5328 call expr ;2175 cd be 03 . . .
5331 add a,0ffh ;217a c6 ff . .
5333 ld hl,trace_UW_flag ;217d 21 e4 21 ! . !
5335 bit 1,a ;2181 cb 4f . O
5336 jr z,l2193h ;2183 28 0e ( .
5338 jp l0902h ;2185 c3 02 09 . . .
5340 ld hl,(trace_count) ;2188 2a e5 21 * . !
5342 ld (trace_count),hl ;218c 22 e5 21 " . !
5345 jr z,l2185h ;2191 28 f2 ( .
5347 call sub_1ffeh ;2193 cd fe 1f . . .
5348 jr nc,l2185h ;2196 30 ed 0 .
5349 ld a,(trace_N_flag) ;2198 3a e7 21 : . !
5351 ld a,(l0941h) ;219c 3a 41 09 : A .
5353 ld (l0941h),a ;21a0 32 41 09 2 A .
5355 jp user_go ;21a3 c3 25 0a . % .
5358 call skipbl ;21a6 cd bf 02 . . .
5360 ld (trace_UW_flag),a ;21aa 32 e4 21 2 . !
5361 ld a,(de) ;21ad 1a .
5362 cp 'U' ;21ae fe 55 . U
5363 jr z,l21b5h ;21b0 28 03 ( .
5364 cp 'W' ;21b2 fe 57 . W
5370 call expr ;21b8 cd be 03 . . .
5371 jp c,ERROR ;21bb da 07 01 . . .
5372 call assert_eol ;21be cd d6 02 . . .
5375 ld (trace_UW_flag),a ;21c3 32 e4 21 2 . !
5380 ld a,(iy+000h) ;21c8 fd 7e 00 . ~ .
5381 cp 0edh ;21cb fe ed . .
5382 jr z,l21dah ;21cd 28 0b ( .
5383 and 0dfh ;21cf e6 df . .
5384 cp 0ddh ;21d1 fe dd . .
5386 ld a,(iy+001h) ;21d4 fd 7e 01 . ~ .
5387 cp 0e9h ;21d7 fe e9 . .
5390 ld a,(iy+001h) ;21da fd 7e 01 . ~ .
5391 and 0f7h ;21dd e6 f7 . .
5392 cp 045h ;21df fe 45 . E
5398 db 0 ;1=call, 0=trace 21e3 00 .
5400 db 0 ;0 or 'U' or 'W' 21e4 00 .
5404 db 0 ;0 if 'N' 21e7 00 .
5406 db 0 ;0 if 'J' 21e8 00 .
5408 ddtz_size equ $-ddtz_base
5411 ;-------------------------------------------------------------------------------
5414 db 000H,000H,000H,000H,000H,000H,000H,000H
5415 db 000H,000H,000H,000H,001H,044H,040H,000H
5416 db 000H,010H,084H,090H,080H,010H,000H,001H
5417 db 024H,092H,049H,009H,024H,084H,080H,004H
5418 db 080H,048H,055H,055H,055H,055H,055H,055H
5419 db 054H,024H,042H,048H,000H,010H,000H,000H
5420 db 000H,080H,000H,080H,002H,008H,010H,082H
5421 db 004H,000H,080H,084H,044H,008H,024H,000H
5422 db 084H,004H,082H,001H,000H,000H,041H,000H
5423 db 008H,021H,002H,000H,000H,090H,000H,020H
5424 db 020H,001H,000H,092H,004H,021H,009H,000H
5425 db 000H,008H,010H,088H,004H,080H,000H,000H
5426 db 004H,000H,020H,000H,000H,001H,000H,080H
5427 db 020H,000H,084H,081H,004H,090H,040H,040H
5428 db 010H,001H,001H,008H,002H,000H,000H,000H
5429 db 091H,004H,000H,000H,000H,000H,024H,000H
5430 db 000H,000H,010H,080H,00AH,0AAH,044H,020H
5431 db 002H,000H,000H,000H,000H,008H,040H,000H
5432 db 000H,000H,000H,000H,000H,000H,048H,088H
5433 db 000H,00AH,0AAH,0A1H,012H,042H,008H,020H
5434 db 002H,008H,000H,000H,000H,008H,002H,042H
5435 db 040H,000H,000H,000H,001H,000H,001H,000H
5436 db 021H,000H,000H,001H,000H,048H,020H,000H
5437 db 010H,008H,000H,020H,040H,090H,004H,000H
5438 db 010H,010H,000H,000H,000H,001H,024H,090H
5439 db 080H,090H,092H,004H,001H,024H,092H,010H
5440 db 092H,041H,008H,010H,021H,002H,042H,010H
5441 db 000H,000H,012H,010H,048H,000H,000H,000H
5442 db 000H,024H,092H,049H,024H,092H,009H,021H
5443 db 024H,020H,090H,040H,008H,001H,000H,009H
5444 db 009H,011H,000H,080H,008H,004H,000H,008H
5445 db 000H,001H,020H,012H,010H,008H,000H,042H
5446 db 049H,000H,010H,001H,020H,011H,000H,040H
5447 db 020H,010H,000H,040H,000H,012H,000H,091H
5448 db 000H,044H,080H,021H,024H,040H,009H,010H
5449 db 089H,000H,010H,008H,040H,024H,010H,088H
5450 db 049H,024H,020H,041H,000H,001H,022H,000H
5451 db 000H,000H,010H,000H,000H,000H,020H,001H
5452 db 000H,000H,020H,000H,000H,010H,000H,012H
5453 db 000H,008H,000H,000H,004H,000H,002H,000H
5454 db 000H,004H,000H,040H,000H,091H,020H,012H
5455 db 012H,000H,000H,012H,000H,000H,000H,000H
5456 db 048H,020H,002H,008H,002H,000H,000H,000H
5457 db 000H,000H,000H,000H,000H,000H,000H,000H
5458 db 000H,000H,000H,050H,000H,000H,000H,000H
5459 db 000H,000H,000H,000H,000H,000H,000H,000H
5460 db 000H,000H,000H,000H,000H,000H,008H,011H
5461 db 024H,024H,004H,000H,010H,080H,092H,048H
5462 db 000H,022H,049H,009H,008H,000H,002H,010H
5463 db 040H,012H,042H,024H,044H,081H,024H,082H
5464 db 048H,000H,020H,020H,080H,000H,081H,020H
5465 db 000H,000H,000H,000H,000H,000H,000H,009H
5466 db 024H,092H,049H,024H,092H,049H,024H,092H
5467 db 049H,024H,092H,049H,024H,089H,024H,001H
5468 db 000H,004H,009H,021H,004H,092H,040H,048H
5469 db 090H,049H,022H,024H,090H,008H,002H,044H
5470 db 089H,011H,000H,000H,020H,080H,000H,001H
5471 db 024H,044H,000H,080H,092H,049H,024H,091H
5472 db 020H,041H,008H,081H,000H,004H,000H,008H
5473 db 040H,010H,000H,000H,000H,092H,002H,008H
5474 db 004H,000H,004H,000H,000H,000H,000H,001H
5475 db 002H,024H,082H,002H,048H,009H,000H,010H
5476 db 020H,048H,002H,020H,000H,000H,000H,000H
5477 db 000H,041H,000H,000H,000H,042H,008H,000H
5478 db 004H,000H,000H,002H,000H,000H,010H,000H
5479 db 000H,000H,000H,004H,001H,002H,042H,020H
5480 db 084H,000H,088H,004H,000H,004H,080H,011H
5481 db 010H,012H,004H,008H,041H,020H,020H,010H
5482 db 089H,002H,008H,000H,000H,010H,040H,004H
5483 db 081H,022H,042H,024H,020H,000H,049H,024H
5484 db 092H,048H,000H,000H,024H,000H,000H,020H
5485 db 082H,000H,000H,020H,000H,008H,024H,004H
5486 db 090H,048H,082H,044H,008H,001H,020H,044H
5487 db 000H,082H,020H,011H,000H,024H,092H,004H
5488 db 080H,024H,092H,049H,024H,092H,049H,024H
5489 db 092H,049H,024H,092H,049H,024H,092H,049H
5490 db 024H,092H,049H,024H,092H,049H,024H,092H
5491 db 049H,024H,088H,049H,024H,082H,010H,089H
5492 db 024H,090H,081H,020H,000H,001H,004H,000H
5493 db 000H,010H,001H,020H,000H,011H,020H,001H
5494 db 010H,008H,000H,000H,040H,010H,040H,080H
5495 db 020H,000H,024H,008H,024H,090H,092H,004H
5496 db 024H,090H,000H,001H,024H,020H,002H,040H
5497 db 000H,000H,009H,000H,021H,024H,009H,000H
5498 db 090H,090H,088H,008H,001H,000H,048H,004H
5499 db 002H,000H,012H,012H,040H,000H,012H,010H
5500 db 092H,004H,090H,049H,021H,000H,040H,021H
5501 db 008H,022H,009H,009H,002H,040H,000H,002H
5502 db 000H,012H,042H,040H,000H,000H,081H,000H
5503 db 049H,000H,022H,009H,000H,020H,092H,001H
5504 db 000H,010H,000H,010H,020H,004H,092H,000H
5505 db 000H,048H,000H,090H,082H,009H,000H,000H
5506 db 048H,042H,049H,024H,090H,090H,000H,092H
5507 db 000H,092H,044H,020H,000H,000H,000H,000H
5508 db 000H,000H,000H,021H,008H,048H,020H,002H
5509 db 000H,000H,024H,002H,000H,010H,000H,012H
5510 db 040H,008H,044H,002H,020H,000H,084H,080H
5511 db 048H,000H,080H,000H,090H,000H,080H,000H
5512 db 042H,000H,000H,040H,001H,002H,008H,000H
5513 db 088H,001H,024H,020H,090H,080H,024H,000H
5514 db 081H,000H,002H,040H,008H,001H,024H,048H
5515 db 048H,008H,008H,041H,008H,090H,044H,048H
5516 db 048H,001H,001H,000H,001H,020H,012H,010H
5517 db 002H,041H,020H,000H,000H,000H,000H,000H
5518 db 000H,000H,000H,004H,082H,041H,020H,008H
5519 db 009H,001H,020H,090H,048H,024H,000H,000H
5520 db 010H,040H,000H,000H,000H,000H,080H,000H
5521 db 000H,000H,004H,021H,008H,042H,010H,084H
5522 db 021H,008H,042H,010H,084H,021H,008H,042H
5523 db 010H,084H,020H,084H,021H,008H,042H,010H
5524 db 084H,021H,008H,041H,008H,042H,010H,084H
5525 db 021H,000H,000H,000H,000H,000H,000H,084H
5526 db 021H,008H,042H,010H,084H,021H,008H,042H
5527 db 008H,042H,010H,042H,010H,084H,021H,008H
5528 db 042H,024H,092H,001H,024H,080H,024H,024H
5529 db 092H,041H,024H,092H,049H,009H,009H,009H
5530 db 020H,002H,002H,040H,000H,010H,082H,048H
5531 db 049H,000H,024H,089H,009H,024H,092H,042H
5532 db 048H,000H,048H,042H,012H,000H,004H,092H
5533 db 049H,009H,024H,092H,042H,000H,000H,009H
5534 db 004H,000H,001H,000H,021H,000H,000H,010H
5535 db 012H,009H,002H,010H,004H,004H,024H,000H
5536 db 090H,084H,000H,000H,001H,004H,090H,092H
5537 db 000H,000H,000H,000H,000H,000H,000H,000H
5538 db 000H,000H,000H,000H,000H,000H,000H,000H
5539 db 000H,000H,000H,000H,000H,000H,000H,000H
5540 db 000H,000H,000H,000H,000H,000H,000H,000H
5541 db 000H,000H,000H,000H,000H,000H,000H,000H
5542 db 080H,004H,012H,041H,011H,024H,012H,004H
5543 db 021H,008H,042H,010H,084H,021H,008H,042H
5544 db 020H,080H,000H,008H,008H,042H,000H,000H
5545 db 000H,024H,020H,002H,008H,021H,002H,010H
5546 db 000H,020H,080H,040H,049H,000H,080H,048H
5547 db 009H,012H,012H,004H,084H,084H,009H,001H
5548 db 001H,022H,004H,022H,024H,088H,000H,024H
5549 db 084H,000H,000H,000H,000H,000H,000H,01AH
5550 db 004H,000H,001H,000H,021H,000H,000H,010H
5551 db 012H,009H,002H,010H,004H,004H,024H,000H
5552 db 090H,084H,000H,000H,001H,004H,090H,092H
5553 db 000H,000H,000H,000H,000H,000H,000H,000H
5554 db 000H,000H,000H,000H,000H,000H,000H,000H
5555 db 000H,000H,000H,000H,000H,000H,000H,000H
5556 db 000H,000H,000H,000H,000H,000H,000H,000H
5557 db 000H,000H,000H,000H,000H,000H,000H,000H
5558 db 080H,004H,012H,041H,011H,024H,012H,004H
5559 db 021H,008H,042H,010H,084H,021H,008H,042H
5560 db 020H,080H,000H,008H,008H,042H,000H,000H
5561 db 000H,024H,020H,002H,008H,021H,002H,010H
5562 db 000H,020H,080H,040H,049H,000H,080H,048H
5563 db 009H,012H,012H,004H,084H,084H,009H,001H
5564 db 001H,022H,004H,022H,024H,088H,000H,024H
5565 db 084H,000H,000H,000H,000H,000H,000H