Instruction manual
0495 be match_loop: cp (hl) ;compare buffer char with match string char
0496 c2 a4 04 jp nz,no_match ;no match, go to next match string
0499 f6 00 or 000h ;end of strings (zero)?
049b ca aa 04 jp z,parser_exit ;yes, matching string found
049e 13 inc de ;match so far, point to next char in match
string
049f 1a ld a,(de) ;get next character from match string
04a0 23 inc hl ;and point to next char in input string
04a1 c3 95 04 jp match_loop ;check for match
04a4 03 no_match: inc bc ;skip over jump target to
04a5 03 inc bc
04a6 03 inc bc ;get address of next matching string
04a7 c3 87 04 jp parse_start
04aa 03 parser_exit: inc bc ;skip to address of jump for match
04ab 0a ld a,(bc)
04ac 6f ld l,a
04ad 03 inc bc
04ae 0a ld a,(bc)
04af 67 ld h,a ;returns with jump address in hl
04b0 c9 ret
04b1 ;
04b1 ;Actions to be taken on match
04b1 ;
04b1 ;Memory dump program
04b1 ;Input 4-digit hexadecimal address
04b1 ;Calls memory_dump subroutine
04b1 21 06 06 dump_jump: ld hl,dump_message ;Display greeting
04b4 cd 18 00 call write_string
04b7 21 89 03 ld hl,address_entry_msg ;get ready to get address
04ba cd 18 00 call write_string
04bd cd fe 00 call address_entry ;returns with address in HL
04c0 cd 89 02 call write_newline
04c3 cd 99 01 call memory_dump
04c6 c3 6f 04 jp monitor_warm_start
04c9 ;
04c9 ;Hex loader, displays formatted input
04c9 21 2d 06 load_jump: ld hl,load_message ;Display greeting
04cc cd 18 00 call write_string ;get address to load
04cf 21 89 03 ld hl,address_entry_msg ;get ready to get address
04d2 cd 18 00 call write_string
58










