!loop
begin 
option  "-low"
include  "inc:util.imp"
integer  a=16_fe0000,k,z
  onevent  0,9 start 
    stopif  event_event=9
    stopunless  event_sub=2
    printstring("error at "); phex(event_extra)
    newline
  finish 
  printstring("a"); newline; printstring("d"); newline
  printstring("@ "); phex(a); newline
  printstring("=/- value {!}"); newline
  printstring("? {!}"); newline
  printstring(". value"); newline
! set terminalmode(single)
! prompt("")
  cycle 
    readsymbol(k)
    if  k='@' start 
      if  nextsymbol='-' start 
        skipsymbol
        rhex(k); k = -k
      elseif  nextsymbol='+'
        skipsymbol
        rhex(k)
      else 
        rhex(a)
        k = 0
      finish 
      a = a+k
    elseif  k='a'
      a = a&¬2
    elseif  k='d'
      a = a!2
    elseif  k='?'
      phex4(shortinteger(a)); newline
      if  nextsymbol='!' start 
        *move.l a,a0
rloop:  *move.w (a0),d0
        *bra rloop
      finish 
    elseif  k='=' or  k='-'
      rhex(k); shortinteger(a) = k
      if  nextsymbol='!' start 
        *move.l a,a0
        *move.l k,d0
wloop:  *move.w d0,(a0)
        *bra wloop
      finish 
    elseif  k='.'
      rhex(k); shortinteger(a) = k
      k = integer(a); phex(k); newline
      cycle 
        cycle 
          z = integer(a)
        repeatuntil  z#k
        phex(z); newline; k = z
      repeat 
    finish 
  repeat 
end