 sttl Memory Modify Command
 pag
*
* Modify system memory
*
modify
 lbsr getadr get starting address
 bcs mod99 exit if error
 std lowadr save address
*
mod10 ldx #modm00
 jsr pdata
 lda lowadr print address
 jsr hexbyt
 lda lowadr+1
 jsr hexbyt
 jsr outsp
 ldx lowadr 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 get memory address
 sta ,x+ update memory
 stx lowadr 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
