Instruction manual
04d5 cd fe 00 call address_entry
04d8 cd 89 02 call write_newline
04db cd 13 02 call memory_load
04de c3 6f 04 jp monitor_warm_start
04e1 ;
04e1 ;Jump and run do the same thing: get an address and jump to it.
04e1 21 5c 06 run_jump: ld hl,run_message ;Display greeting
04e4 cd 18 00 call write_string
04e7 21 89 03 ld hl,address_entry_msg ;get ready to get address
04ea cd 18 00 call write_string
04ed cd fe 00 call address_entry
04f0 e9 jp (hl)
04f1 ;
04f1 ;Help and ? do the same thing, display the available commands
04f1 21 ee 05 help_jump: ld hl,help_message
04f4 cd 18 00 call write_string
04f7 01 ba 07 ld bc,parse_table ;table with pointers to command strings
04fa 0a help_loop: ld a,(bc) ;displays command strings
04fb 6f ld l,a ;getting the string addresses from the
04fc 03 inc bc ;parse table
04fd 0a ld a,(bc) ;pass add. of string to HL through A reg
04fe 67 ld h,a
04ff 7e ld a,(hl) ;hl now points to start of match string
0500 f6 00 or 000h ;exit if no_match string
0502 ca 15 05 jp z,help_done
0505 c5 push bc ;write_char uses B reg, so save first
0506 3e 20 ld a,020h ;space char
0508 cd 0c 00 call write_char
050b c1 pop bc
050c cd 18 00 call write_string ;writes match string
050f 03 inc bc ;pass over jump address in table
0510 03 inc bc
0511 03 inc bc
0512 c3 fa 04 jp help_loop
0515 c3 6f 04 help_done: jp monitor_warm_start
0518 ;
0518 ;Binary file load. Need both address to load and length of file
0518 21 91 06 bload_jump: ld hl,bload_message
051b cd 18 00 call write_string
051e 21 89 03 ld hl,address_entry_msg
59










