 sttl Memory Modify Command
 pag
*
* Modify system memory
*
modify
 lbsr getadr get starting address
 bcs mod99 exit if error
 std lowadr,u save address
*
mod10 ldx #modm00
 jsr pdata
 lda lowadr,u print address
 jsr hexbyt
 lda lowadr+1,u
 jsr hexbyt
 jsr outsp
 ldx lowadr,u get byte address
 lda 0,x get value
 pshs a save current value
 jsr hexbyt output it
 jsr outsp print a space
 jsr gethex get a hex digit
 bcs mod30 jump if error
 asla
 asla
 asla
 asla
 sta 0,s update value
 jsr gethex get second hex digit
 bcs mod40 exit if error
 ora ,s+ compute total value
mod20 ldx lowadr,u get memory address
 sta ,x+ update memory
 stx lowadr,u update address
 bra mod10 continue with next byte
*
mod30 cmpa #'. is it "go on" char?
 bne mod40 no - exit
 puls a restore original value
 bra mod20 yes - move to next address
*
mod40 leas 1,s clean up stack
mod99 rts return
*
modm00 fcc $d,'  - ',0
*
* J - Jump to user program
*
jumpprg
 jsr getadr get routine address
 bcs jump99 exit if error
 tfr d,x get address
 jsr 0,x call routine
jump99 rts
