option  "-low"

recordformat  sysrootf(record (*)name  global heap, dictionary dictionary)

recordformat  dictcellf(record (dictcellf)name  l,r,
                        integer  token,string (255)s)
recordformat  dictf(record (dictcellf)name  t,record (dictf)name  alt)

recordformat  obj header f(byte  type,version,half  flags,export,import,
  integer  code,half  reset,main,integer  own,stack,spare1,spare2)

recordformat  obj entry f(half  flags,ptype,integer  type,disp,
                          string (255)name)

recordformat  mod list f(record (modlistf)name  next,
                         record (objheaderf)name  header,
                         integer  gla,token)

recordformat  mod list list f(record (modlistlistf)name  next,
                              record (modlistf)name  list)

recordformat  obj list f(record (objlistf)name  next,
                           record (objentryf)name  entry,
                           record (modlistf)name  module,
                           integer  address)

@16_3ff8 record (sysrootf)name  sysroot

recordformat  scbf(integer  p,l,bs,bl,fs,fl, mode,
                   string (255)name  filename,record (*{iof})name  io,
                   integer  pc,gla, a,b,c,d,e)

recordformat  scbdf(record (scbf)name  scb,record (scbdf)name  next)

constinteger  ser min = 0,     ser max = 5,      maxstream = 7,
              ser closein = 0, ser closeout = 1,
              ser setin = 2,   ser setout = 3,
              ser refresh = 4, ser flush = 5

  @0(a5) integer  evlink
  @4(a5) integerarray  display(1:7)
 @32(a5) record (eventfm)event
@360(a5) integer  scratch1,scratch2
@368(a5) record (scbf)name  ctrlin,ctrlout,stdin,stdout,curin,curout
@392(a5) integer  instream,outstream
@400(a5) record (scbdf)namearray  in(0:maxstream)
@432(a5) record (scbdf)namearray  out(0:maxstream)
@464(a5) string (255)cliparam
@720(a5) integer  globalheap,localheap
@728(a5) record (*)name  extlist,modlist
@736(a5) record (dictf)name  extdict,moddict,fildict
@748(a5) record (dictf)name  sysdict,logdict,comdict

externalintegerfnspec  findentry(string (255)s,record (dictf)name  d)
externalintegerfnspec  makeentry(string (255)s,record (dictf)name  d)
externalroutinespec  deleteentry(string (255)s,record (dictf)name  d)
externalstring (255)fnspec  translateentry(integer  x)

!  @16_3f00-6 %routine signalevent(%integer e,s,x,%string(255)m)
! @16_3f00-12 %integerfn mul(%integer a,b)
! @16_3f00-18 %integerfn div(%integer a,b)
! @16_3f00-24 %integerfn muldiv(%integer a,b,c)
! @16_3f00-30 %integerfn power(%integer a,b)
! @16_3f00-36 %realfn fneg(%real a)
! @16_3f00-42 %realfn fadd(%real a,b)
! @16_3f00-48 %realfn fsub(%real a,b)
! @16_3f00-54 %realfn fmul(%real a,b)
! @16_3f00-60 %realfn fdiv(%real a,b)
! @16_3f00-66 %realfn fpow(%real a,%integer b)
! @16_3f00-72 %realfn float(%integer a)
! @16_3f00-78 %integerfn round(%real a)
! @16_3f00-84 %integerfn trunc(%real a)
! @16_3f00-90 %realfn fraction(%real a)
! @16_3f00-96 %integerfn int(%real a)
!@16_3f00-102 %integerfn intpt(%real a)
!@16_3f00-108 %realfn fracpt(%real a)
!@16_3f00-114 %realfn sqrt(%real a)
 @16_3f00-120 integerfn  heapget(integer  size)
!@16_3f00-120 %record(*)%map new(%integer size)
              externalroutinespec  heapput(integer  address)
!@16_3f00-126 %routine dispose(%record(*)%name r)
!@16_3f00-132 %integerfn nextsymbol
!@16_3f00-138 %integerfn readsymbol
!@16_3f00-138 %routine skipsymbol
!@16_3f00-144 %routine printsymbol(%integer a)
!@16_3f00-150 %routine printstring(%string(255)s)
!@16_3f00-156 %routine openinput(%integer stream,%string(255)name)
!@16_3f00-162 %routine openoutput(%integer stream,%string(255)name)
!@16_3f00-168 %routine selectinput(%integer stream)
!@16_3f00-174 %routine selectoutput(%integer stream)
!@16_3f00-180 %routine setinput(%integer position)
!@16_3f00-186 %routine setoutput(%integer position)
!@16_3f00-192 %routine closeinput
!@16_3f00-198 %routine closeoutput
!@16_3f00-204 %record(scbf)%map open(%integer mode,%string(255)file)
!@16_3f00-210 %routine connectfile(%string(255)f,%integer m,%integername s,l)

!@16_3ff8 %integer membot,memtop
!@16_400 %routine   rom reboot
!@16_404 %routine   rom boot(%string(31)s)
!@16_408 %integerfn rom readfile(%string(31)s,%integer where)
!@16_40c %routine   rom phex(%integer x)
!@16_410 %routine   rom phex4(%integer x)
!@16_414 %routine   rom phex2(%integer x)
!@16_418 %routine   rom phex1(%integer x)
!@16_41c %routine   rom printsymbol(%integer x)
!@16_420 %routine   rom printstring(%string(31)s)