|
DataMuseum.dkPresents historical artifacts from the history of: RC4000/8000/9000 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RC4000/8000/9000 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 41472 (0xa200) Types: TextFile Names: »do32tx «
└─⟦01e83a425⟧ Bits:30008166 Bånd med SW8010 og SW8500 source code └─⟦75ff9bef3⟧ └─⟦this⟧ »do32tx «
; do text 2 af 2 ; procedure assign word(word,sorry); ; procedure assign variables(base); ; procedure assign array(base); ; call: exit: ; w0 destroyed ; w1 destroyed ; w2 base word ; w3 link destroyed; b.j31 ; begin w.d21: rl.w0 e25. ; assign word: sn w0 8 ; if next delim=8 then jl x3+0 ; goto sorry; al.w2 e13. ; base:= addr(word); al w3 x3+2 ; link:= link+2; am -2 ; step:= -2 d22: am -2 ; assign variable: or 0 d23: al w0 2 ; assign array: or 2; rs.w3 e31. ; al w3 0 ; xy index:= 0; ds.w0 e16. ; se w0 2 ; operator:= am 2 ; if step=2 then 34 al w3 34 ; else 36; rs.w3 e12. ; old operator:= operator; rs.w3 e18. ; rl w1 x2+0 ; word:= word(base); ds.w2 e14. ; sn w0 -2 ; if step=-2 then jl. j1. ; goto next; j0: rl.w0 e25. ; test next delim: se w0 8 ; if next delim<>8 then jl. j31. ; goto exit; j1: ; next: jl.w3 d15. ; next param( jl. a4. ; terminate, jl. j2. ; integer, jl. j23. ; name, jl. j23. ; name, ; integer); j2: ; integer: ; value:= param; dl.w0 e13. ; operation: j3: jl. x3+2 ; goto case operator of( ac w2 x2+0 ; 0: increase, jl. j5. ; 2: decrease, ac w2 x2+0 ; 4: right shift, jl. j6. ; 6: left shift, jl. j7. ; 8: or, jl. j8. ; 10: and, jl. j10. ; 12: equal, jl. j12. ; 14: not equal, rx w0 4 ; 16: greater, jl. j11. ; 18: less, rx w0 4 ; 20: not greater, jl. j9. ; 22: not less, jl. j15. ; 24: multiply, jl. j16. ; 26: divide, jl. j17. ; 28: modulo, jl. j18. ; 30: power, jl. j4. ; 32: index value, jl. j21. ; 34: save value, jl. j20. ; 36: store word); j4: rl.w0 e13. ; index value: wa.w2 e17. rl w2 x2+0 ; value:= word(value index+value); rl.w3 e18. ; operator:= old operator; jl. j3. ; goto operation; ; increase: ; value:= -value; j5: ; decrease: ws w0 4 ; word:= word-value; jl. j22. ; goto save word; ; right shift: ; value:= -value; j6: ; left shift: ls w0 x2+0 ; word:= word shift value; jl. j22. ; goto save word; j7: ; or: lo w0 4 ; word:= word or value; jl. j22. ; goto save word; j8: ; and: la w0 4 ; word:= word and value; jl. j22. ; goto save word; ; not greater: ; exchange(word,value); j9: ; not less: sl w0 x2+0 ; if word>=value then al w0 x2+0 ; word:= value; j10: ; equal: se w0 x2+0 ; if word<>value then jl. j14. ; goto set false; jl. j13. ; goto set true; ; greater: ; exchange(word,value); j11: ; less: sl w0 x2+0 ; if word>=value then al w0 x2+0 ; word:= value; j12: ; not equal: se w0 x2+0 ; if word<>value then j13: ; set true: am -1 ; word:= -1 ; else j14: ; set false: al w0 0 ; word:= 0; jl. j22. ; goto save word; j15: ; multiply: wm w0 4 ; word:= word*value; jl. j22. ; goto save word; j16: al w3 0 ; divide: wd w0 4 ; word:= word/value; jl. j22. ; goto save word; j17: al w3 0 ; modulo: wd w0 4 ; word:= word mod value; al w0 x3+0 ; goto save word; jl. j22. j18: ; power: sh w2 -1 ; if value<=-1 then al w0 0 ; word:= 0; sh w2 0 ; if value<=0 then al w0 1 ; word:= 1; rl w1 0 ; factor:= word; j19: ; test more: sh w2 1 ; if value<=1 then jl. j22. ; goto save word; wm w0 2 ; word:= word*factor; al w2 x2-1 ; value:= value-1; jl. j19. ; goto test more; j20: dl.w1 e14. ; store word: wa.w1 e15. rs w0 x1+0 ; word(base+xy index):= word; rl.w1 e15. wa.w1 e16. ; index:= xy index+step; sl.w1(e15.) ; if index>=xy index then rs.w1 e15. ; xy index:= index; j21: ; save value: al w0 x2+0 ; word:= value; j22: al w3 36 ; save word: ds.w0 e13. ; operator:= 36; jl. j0. ; goto test next delim; j23: ; name: jl.w3 d10. ; lookup word(index, jl. j25. ; point wz, jl. j26. ; point xy, jl. j27. ; set operator, jl. j24. ; special, jl. j28. ; text); j24: ; special: am e10-e0 ; index:= index+buf addr-w0 addr; j25: ; point wz: rl.w2 x1+e0. ; value:= word(w0 addr+index); jl. j2. ; goto operation; j26: dl.w3 e14. ; point xy: wa.w3 e15. rs w2 x3+0 ; word(base+xy index):= word; rl.w1 x1+e0. rs.w1 e17. ; value index:= word(w0 addr+index); al w1 32 ; index:= 32; j27: ; set operator: rx.w1 e12. ; old operator:= operator; rs.w1 e18. ; operator:= index; rl.w0 e12. ; if old operator=36 se w1 36 ; or operator=32 sn w0 32 ; and old operator<>32 then sn w1 32 ; goto test next delim; jl. a1. ; goto list; jl. j0. j28: rl.w0 e12. ; text: sh w0 32 ; if operator<=32 then jl. a1. ; goto list; rl.w0 e16. sn w0 2 ; if step=2 then jl. j29. ; goto store name; rl w2 x2+0 ; value:= word(param); sn w0 0 ; if step=0 then jl. j2. ; goto operation; rl.w3 e31. ; jl x3-2 ; goto sorry; j29: dl.w1 e14. ; store name: wa.w1 e15. rl.w3 e12. ; if operator=36 then se w3 36 ; begin jl. j30. ; word(base+xy index):= word; rs w0 x1+0 ; xy index:= xy index+2 am 2 ; end; j30: al w3 8 wa.w3 e15. rs.w3 e15. ; xy index:= xy index+8; wa.w3 e14. ; addr:= xy index+base; dl w1 x2+2 ds w1 x3-6 ; words(addr-8:addr-2):= dl w1 x2+6 ; words(param:param+6); ds w1 x3-2 al w1 34 rl w2 x3+0 ; operator:= 34; ds.w2 e13. ; word:= word(addr); jl. j0. ; goto test next delim; j31: dl.w3 e14. ; exit: wa.w3 e15. rs w2 x3+0 ; word(base+xy index):= word; jl. (e31.) ; i.e. ; end; w.a0: am -2000 ; start: al.w3 h21.+2000 ; rs.w3 g61. ; am d15-d16 ; next param or a1: jl.w3 d16. ; list: list and next param( jl. a4. ; terminate, jl. a7. ; array, jl. a2. ; space name, jl. a1. ; list, jl. a1. ; list); a2: ; space name: jl.w3 d10. ; lookup word(index, jl. a5. ; space wz, jl. a6. ; space xy, jl. a1. ; list, jl. a1. ; list, ; action); ; action: jl.w3 d13. ; lookup action(index, jl. a1. ; list); jl x1+2 ; goto index+2; a5: al.w2 x1+e0. ; space wz: jl.w3 d22. ; assign variable(w0 addr+index); jl. a0. ; goto start; a6: al w3 f1 ; space xy: wm w3 2 ; addr:= index*x words al.w2 x3+e4. ; +x0 addr; sh w1 6 ; if index<=6 then rs.w2 x1+e0. ; word(w0 addr+index):= addr; sl w1 8 ; if index>=8 then am -10 ; index:= index-10; rl.w2 x1+e0. ; param:= word(w0 addr+index); a7: ; array: jl.w3 d23. ; assign array(param); jl. a0. ; goto start; a26: am c6-c7 ; niveau error: text:= <:niveau:> a27: am c7-c8 ; no core error: or <:no core:> a28: am c8-c9 ; core addr error: or <:core addr:> a29: al.w2 c9. ; format error: or <:format:>; am -2000 jl.w3 g40.+2000 ; error(text addr); jl.w3 f11. ; outend(10); am 2 ; ok bit:= 1; ; goto terminate; a3: al w0 -1 ; after interrupt: am g3-f10 rs.w0 f10. ; ok bit:= -1; a4: rl.w0 e37. ; terminate: am h10+h76-h55-200 rs.w0 h55.+200 ; restore(fp interrupt instruction); am -2000 ; al.w1 h19.+2000 ; se.w1(g60.) ; if word(g60)<>h19 then jl. 12 ; goto save variables; al w2 25 ; w2:=<em>; am -2000 ; jl.w3 h34.+2000 ; close up `write` zone; am -2000 ; jl.w3 h79.+2000 ; terminate `write` zone; jl.w3 d18. ; save variables; am -2000 ; jl. g26.+2000 ; end program(ok bit); b.j0 w.a30: al w0 0 ; clear: rl.w1 e9. al.w3 a0. j0: rs w0 x1+0 ; for i:= save addr step 2 al w1 x1+2 ; until cur com-2 do sl.w1(e11.) ; word(i):= 0; jl. d19. ; restore variables; jl. j0. ; goto start; i.e. b.j22 ; list 2: w.j0: al w0 -1 ; list: rs.w0 e20. ; written:= -1; al w0 0 ; rx.w0 e27. ; if w or z<>0 then se w0 0 ; outend(10); jl.w3 f11. ; w or z:= 0; jl. j1. ; goto list 1; a31: am -2000 rl.w0 g60.+2000 ; write: am -2000 rs.w0 g61.+2000 ; al w0 -1 ; rs.w0 e20. ; written:= -1; al w0 0 rs.w0 e27. ; w or z:= 0; rl.w0 e3. rs.w0 e0.-2 ; w3 copy:= word(w3 addr); rl.w0 e3.+10 ; z3 copy:= word(z3 addr); rs.w0 e0.+8 am d15-d16 ; next param or j1: jl.w3 d16. ; list 1: list and next param( jl. a4. ; terminate, jl. j2. ; space integer, jl. j3. ; space name, jl. j0. ; list, jl. j0. ; list); j2: ; space integer: al.w0 c7.+2 rs.w0 e17. ; text addr:= addr(<:core:>); am -2000 ; rl.w1 g16.+2000 ; addr:= param; jl. j7. ; goto set standard; j3: ; space name: jl.w3 d10. ; lookup word(index, jl. j4. ; write wz, jl. j5. ; write xy, jl. j0. ; list, jl. j6. ; write special, ; output); ; output: jl.w3 d12. ; lookup output(index, jl. j0. ; list); jl x1+2 ; goto index+2; j4: ; write wz: al.w1 x1+e0. ; addr:= w0 addr+index; al w0 -1 rs.w0 e27. ; w or z:= -1; jl. j7. ; goto set standard; j5: ; write xy: am e0-e10 ; addr:= word(w0 addr+index); ; goto set standard; j6: ; write special: rl.w1 x1+e10. ; addr:= case index of(buf addr, ; cur com, fp base, h names); j7: ; set standard: al w2 x1+2 ; top:= addr+2; al.w3 b55. ; index:= word format index; j8: ; set false: rs.w1 e12. ; write base:= addr; rs.w1 e15. ; next addr:= write addr:= addr; ds.w2 e14. ; write top:= top; rs.w3 e22. ; format index:= index; jl.w3 f11. ; outend(10); rl.w0 e17. jl.w3 f13. ; outtext(text addr); rl.w0 e27. ; if w or z<>0 then sn w0 0 ; begin jl. j9. ; outtext(<: =:>); al.w0 c3. ; written:= 0; jl.w3 f13. ; goto next jl. j10. ; end; j9: jl.w3 f15. ; outchar(46); rl.w0 e12. jl.w2 f12. ; outinteger(<<d>,write base); jl.w3 f11. ; outend(10); j10: am 1 ; written:= 0; ; goto next; j11: al w0 -1 ; set true: rs.w0 e20. ; written:= -1; j12: ; next: jl.w3 d15. ; next param( jl. j20. ; term, jl. j18. ; space i, jl. j19. ; space n, jl. j14. ; format, ; bytes); j13: rl.w3 e27. ; bytes: se w3 0 ; if w or z<>0 then jl. j0. ; goto list 2; wa.w2 e13. rl.w3 e13. ; write top:= write addr+param; ds.w3 e15. ; next addr:= write addr; jl.w3 d17. ; write item; jl. j11. ; goto set true; j14: ; format: jl.w3 d11. ; lookup format(index, jl. j15. ; variable); rs.w1 e22. ; format index:= index; sh.w1 d6. ; if index<=format index 63 then jl. j12. ; goto next; al w1 x1+2 ; index:= index+2; rs.w1 e22. ; format index:= index; bl w0 x1+0 wa.w0 e13. ; write addr:=write addr rs.w0 e13. ; +byte(index); rs.w0 e15. ; next addr:=write addr; ba w0 x1+1 ; write top:= next addr rs.w0 e14. ; +byte(index+1); jl. j12. ; goto next; j15: ; variable: jl.w3 d10. ; lookup word(index, jl. j16. ; wz value, jl. j17. ; xy indexed, jl. j0. ; list 2, jl. j0. ; list 2, jl. j0. ; list 2); j16: ; wz value: rl.w2 x1+e0. ; param:= word(w0 addr+index); jl. j13. ; goto bytes; j17: ; xy indexed: rl.w1 x1+e0. ; write index:= word(w0 addr+index); rs.w1 e28. jl.w3 d15. ; next param( jl. j21. ; list last, jl. j21. ; list last, jl. j21. ; list last, jl. j0. ; list 2, ; index); ; index: wa.w2 e28. ; param:= write index+param; rl w2 x2+0 ; param:= word(param); jl. j13. ; goto bytes; j21: al w0 -10 ; list last: wa.w0(e38.) rs.w0(e38.) ; param addr:= param addr-10; jl. j0. ; goto list 2; j18: am j2-j3 ; space i: return:= space integer j19: am j3-a4 ; space n: or space name j20: am a4-a0 ; term: or terminate i0: al.w3 a0. ; end: or start; rx.w3 e20. sn w3 0 ; if written=0 then jl.w3 d17. ; write item; al w2 0 rs.w2 e27. ; w or z:= 0; am -2000 ; rl.w1 g61.+2000 ; w1:=output zone; rl. w3 e20. ; e3:=return; se. w3 a0. ; if not end jl x3 ; then goto return am -2000 ; else jl. h33.+2000; outend; i1: am (116) ; bittable: dl w2 -6 ; top:= top bittable; rx w2 2 ; addr:= start bittable; al.w3 b61. ; index:= binary format index; jl. j8. ; goto set false; i.e. b.j1 w.a32: rl w3 x3+0 ; monitor procedure: al w3 x3-1<11 hs.w3 j0. ; function:= word(link); dl.w1 e1. dl.w3 e3. ; restore(w0,w1,w2,w3); j0=k+1 jd 1<11;+func; monitor call(function); j1: ds.w1 e1. ds.w3 e3. ; save(w0,w1,w2,w3); jl. a0. ; goto start; w.a33: wa w3 x3+0 ; fp procedure: dl.w1 e1. ; addr:= link+word(link); rl.w2 e2. ; restore(w0,w1,w2); jl w3 x3+0 ; fp call(addr); se w1 1 jl. j1. ; save(w0,w1,w2,w3); jl. j1. ; goto start; i.e. w.a34: ; do: jl.w3 d14. ; stack pointer; jl. a0. ; goto start; w.a35: ; if: jl.w3 d21. ; assign word(word, jl. a1. ; list); dl.w1 f97. ; sl w2 0 ; if word>=0 then jl.w3 d20. ; skip block(<:if:>,<:fi:>); jl. a0. ; goto start; w.a36: ; while: jl.w3 d21. ; assign word(word, jl. a1. ; list); sh w2 -1 ; if word<=-1 then jl. a0. ; goto start; dl.w1 f98. ; jl.w3 d20. ; skip block(<:do:>,<:od:>); a11: al w0 -2 ; unstack pointer: wa.w0 e33. ; niveau:= repeat niveau-2; sl w0 0 ; if niveau>=0 then rs.w0 e33. ; repeat niveau:= niveau; jl. a0. ; goto start; w.a37: ; od: am. (e33.) ; addr:= repeat(repeat niveau); rl.w0 e19. ; set param addr: a10: rs.w0(e38.) ; param addr:= addr; jl. a0. ; goto start; b.j7 ; wait: w.a38: jl.w3 d15. ; next param( jl. a4. ; terminate, jl. j0. ; seconds, jl. j3. ; process, jl. a1. ; list, jl. a1. ; list); j0: ; seconds: ls w2 6 ; slice:= param*64; j1: sh w2 0 ; again: jl. a0. ; if slice<=0 then al w2 x2-1 ; goto start; al w1 1952 ; slice:= slice-1; j2: al w1 x1-1 sl w1 0 ; wait 15620 usecs; jl. j2. ; goto again; jl. j1. j3: al w3 x2+0 ; process: jd 1<11+8 ; reserve process(param,result); sh w0 1 ; if result<=1 then jl. j5. ; goto check result; al.w1 j7. ; jd 1<11+42 ; look up entry(param,result); al w3 x1+2 ; param:= tail+2; sn w0 0 ; if result=0 then ; again: j4: jd 1<11+8 ; reserve process(param,result); j5: ; check result: sn w0 0 ; if result=0 then jl. a0. ; goto start; se w0 1 ; if result<>1 then jl. a1. ; goto list; rs.w3 e32. al.w3 c14. al.w1 j6. jd 1<11+16 ; send message(<:clock:>,1,buf); al w1 x1+4 jd 1<11+18 ; wait answer(buf); rl.w3 e32. jl. j4. ; goto again; j6: 0,1 j7: 0,r.10 i.e. w.a39: ; go: jl.w3 d21. ; assign word(word, jl. a1. ; list); sl w2 f5 ; if word>=repeat niveaus then jl. a1. ; goto list; ls w2 1 ; word:= word shift 1; rl.w0 x2+e26. ; addr:= procedure(word); al.w3 a10. ; if addr<>0 then se w0 0 ; begin jl. d14. ; stack pointer; ; goto set param addr rl.w0(e38.) ; end; rs.w0 x2+e26. ; procedure(word):= param addr; dl.w1 f99. ; jl.w3 d20. ; skip block(<:go:>,<:og:>); jl. a0. ; goto start; w.a40: rl.w3 e33. ; og: sh w3 0 ; if repeat niveau=<0 then jl. a1. ; goto list; rl.w0 x3+e19. ; param addr:= rs.w0(e38.) ; repeat(repeat niveau); jl. a11. ; goto unstack pointer; b.j16 ; slang: w.a41: jl.w3 d21. ; assign word(addr, jl. a1. ; list); al w2 x2-2 ; rs.w2 e12. ; slang addr:= addr-2; rl w0 x2+0 ; instruction:= word(slang addr); al w1 -1 ; slang mode:= -1; ds.w1 e14. ; j0: am d15-d16 ; next: next param or j15: jl.w3 d16. ; list: list and next param( jl. j16. ; terminate, jl. j13. ; space integer, jl. j2. ; space name, jl. j1. ; point name, jl. j12. ; point integer); j16: rl.w0 e13. ; output last rs.w0 (e12.) ; instr; jl. a4. ; goto terminate; j1: ; point name: jl.w3 d10. ; lookup word(index, jl. j5. ; point wz, jl. j7. ; point xy, jl. j15. ; list, jl. j15. ; list, jl. j15. ; list); j2: ; space name: jl.w3 d10. ; lookup word(index, jl. j6. ; space wz, jl. j8. ; space xy, am ; name, am ; name, ; name); ; name: al w1 0 ; op:= 0; ; next op: j3: al w0 -1-255 ; mask:= -1-255; la.w0 x1+c0. ; mod:= mask and op codes(op); sn w0(x2+0) ; if mod=word(param) then jl. j4. ; goto found; al w1 x1+2 ; op:= op+2; sh w1 64*2*2 ; if op<=64*2*2 then jl. j3. ; goto next op; dl w1 x2+2 ; not found: sn.w0(f96.) ; if word(param)<><:end:> se w1 0 ; or word(param+2)<>0 then jl. j15. ; goto list; rl.w0 e13. ; rs.w0(e12.) ; word(slang addr):= instruction; jl. a0. ; goto start; j4: ; found: sl w1 128 ; if second table then al w1 x1-128 ; opcode:=opcode-128; rs.w1 e14. ; slang mode:= op; ls w1 17 ; word:= op shift 17; dl.w3 e13. ; word(slang addr):= rs w3 x2+0 ; instruction; al w0 x2+2 ; slang addr:= slang addr+2; ds.w1 e13. ; instruction:= word; jl. j0. ; goto next; j5: ; point wz: al w1 x1+1 ; index:= index+1; j6: ; space wz: sl w1 8 ; if index>=8 then jl. j11. ; goto delim z; ls w1 3 ; mod:= index shift 3; al w2 -1-56 ; mask:= -1-56; jl. j9. ; goto set mod; j7: ; point xy: al w1 x1+1 ; index:= index+1; j8: ; space xy: sl w1 8 ; if index>=8 then jl. j10. ; goto delim y; sz w1 2.1 ; if index(23)=1 then al w1 x1+7 ; index:= index+7; ls w1 -1 ; mod:= index shift -1; al w2 -1-7 ; mask:= -1-7; j9: rl.w0 e14. ; set mod: sz w0 1<7 ; if slang mode(16)=1 then jl. j15. ; goto list; bl.w3 e13. ; la w3 4 ; instruction(0:11):= wa w3 2 ; instruction(0:11) and mask hs.w3 e13. ; or mod; jl. j0. ; goto next; j10: ; delim y: am -10 ; index:= index-10; j11: ; delim z: rl.w2 x1+e0. ; param:= word(w0 addr+index); sz w1 2.1 ; if index(23)=1 then j12: ; point integer: ac w2 x2+0 ; param:= -param; j13: rl.w0 e14. ; space integer: sz w0 1<7 ; if slang mode(16)=1 then jl. j14. ; goto word; ba.w2 e13.+1 ; instruction(12:23):= hs.w2 e13.+1 ; instruction(12:23)+param; jl. j0. ; goto next; j14: sh w0 0 ; word: jl. j15. ; if slang mode<=0 then wa.w2 e13. ; goto list; rs.w2 e13. ; instruction:= instruction+param; jl. j0. ; goto next i.e. ; end; w.a42: ; jump: jl.w3 d21. ; assign word(addr, jl. a1. ; list); dl.w1 e1. ; rx.w2 e2. ; restore(w0,w1,w2); jl.w3(e2.) ; jump link(addr); ds.w1 e1. ; save(w0,w1,w2); rs.w2 e2. ; jl. a0. ; goto start; ; compound format table w. b28.,b29. b30.,b31.,b32.,b33.,b34.,b35.,b36.,b37.,b38.,b39. b40.,b41.,b42.,b43.,b44.,b45.,b46.,b47.,b48.,b49. b50.,b51.,b52.,b53.,b54.,b55.,b56.,b57.,b58.,b59. b60.,b61.,b62.,b63. d0: ; fpnames c. g8<3 ; if system 3 then h52=1<23 h53=1<23 z. c.g8<2 h76=1<23 h95=1<23 h96=1<23 h97=1<23 h98=1<23 z. w. h0, h1, h2, h3, h4, h5, h6, h7, h8, h9 h10,h11,h12,h13,h14,h15,h16,h17,h18,h19 h20,h21,h22,h23,h24,h25,h26,h27,h28,h29 h30,h31,h32,h33,h34,h35,h36,h37,h38,h39 h40,h41,h42,h43,h44,h45,h46,h47,h48,h49 h50,h51,h52,h53,h54,h55,h56,h57,h58,h59 h60,h61,h62,h63,h64,h65,h66,h67,h68,h69 h70,h71,h72,h73,h74,h75,h76,h77,h78,h79 h80,h81,h82,h83,h84,h85,h86,h87,h88,h89 h90,h91,h92,h93,h94,h95,h96,h97,h98,h99 ; word table w.d1: <:w0:>,<:w1:>,<:w2:>,<:w3:> <:z0:>,<:z1:>,<:z2:>,<:z3:> <:x0:>,<:x1:>,<:x2:>,<:x3:> <:y0:>,<:y1:>,<:y2:>,<:y3:> <:in:>,<:de:>,<:ri:>,<:le:> <:or:>,<:an:>,<:eq:>,<:ne:> <:gr:>,<:ls:>,<:ng:>,<:nl:> <:mu:>,<:di:>,<:mo:>,<:po:> <:ba:>,<:cc:>,<:fp:>,<:hn:> d2: 0 f94=d1-1000 f95=f94+16 ; format table b.j73 w. j29. j30. ,j33.,j34.,j35.,j36.,j37.,j38.,j39. j54.,j55.,j56.,j57.,j58.,j59. j60.,j61. ,j63.,j64.,j65.,j66.,j67.,j68.,j69. j70.,j71. ,j73. c.h57<3 j72. z. d3. b28: -1 14<18+11<12+ 5<6+12 4<18 j29: <:binword:> , b29: -1 28<18+ 3<12 j30: <:words5:>,0 , b30: -1 31<18+ 3<12 b31: -1 14<18+20<12+12<6+ 4 b32: -1 14<18+21<12+12<6+ 4 j33: <:bytes10:> , b33: -1 32<18+ 3<12 j34: <:name:> , b34: -1 52<18+ 3<12 j35: <:procname:> , b35: -1 41<18+ 3<12 j36: <:procnames:>,0 , b36: -1 42<18+ 3<12 j37: <:code:> , b37: -1 40<18+ 3<12 j38: <:double:>,0 , b38: -1 43<18+ 3<12 j39: <:groups:>,0 , b39: -1 62<18+ 3<12 b40: -1 14<18+19<12+12<6+ 4 b41: -1 14<18+17<12+12<6+ 4 b42: -1 14<18+18<12+12<6+ 4 b43: -1 15<18+12<12+ 4<6 b44: -1 14<18+11<12+ 6<6+12 4<18 b45: -1 14<18+ 5<12+12<6+ 4 b46: -1 14<18+ 6<12+12<6+ 4 b47: -1 14<18+ 7<12+12<6+ 4 b48: -1 14<18+ 8<12+12<6+ 4 b49: -1 14<18+ 9<12+12<6+ 4 b50: -1 14<18+10<12+12<6+ 4 b51: -1 14<18+11<12+12<6+ 4 b52: -1 14<18+16<12+12<6+ 4 b53: -1 14<18+19<12+10<6+ 5 6<18+ 8<12+ 7<6+12 4<18 j54: <:empty:> , b54: -1 13<18+ 3<12 j55: <:word:> , b55: -1 45<18+ 3<12 j56: <:bytes:> , b56: -1 46<18+ 3<12 j57: <:text:> , b57: -1 47<18+ 3<12 j58: <:octets:>,0 , b58: -1 48<18+ 3<12 j59: <:sixtets:> , b59: -1 49<18+ 3<12 j60: <:octal:> , b60: -1 50<18+ 3<12 j61: <:binary:>,0 , b61: -1 51<18+ 3<12 b62: -1 14<18+ 5<12+ 6<6+ 8 9<18+10<12+12<6+ 4 j63: <:all:>,0 , b63: -1 53<18+ 3<12 d6: j64: <:buffer:>,0 , -1 h.0,24 w. 45<18+45<12+41<6+41 62<18+62<12+62<6+62 62<18+62<12+62<6+62 2<18 c.h57<2 j65: <:area:> , -1 h.0,20 w. 45<18+52<12+46<6+42 42<18+45<12+45<6+ 2 j66: <:peripheral:> , -1 h.0,96 w. 45<18+52<12+49<6+42 42<18+45<12+45<6+45 39<18 j67: <:internal:> , -1 h.0,74 w. 45<18+52<12+44<6+51 45<18+45<12+45<6+45 45<18+45<12+46<6+44 51<18+44<12+51<6+45 62<18+62<12+62<6+62 45<18+45<12+41<6+45 43<18+43<12+43<6+45 45<18+51<12+51<6+ 2 z. c.h57<3 j65: <:area:> , -1 h.-4,24 w. 45<18+45<12+45<6+52 41<18+42<12+42<6+45 45<18+52<12+ 2<6 j66: <:peripheral:> , -1 h.-4,100 w. 45<18+45<12+45<6+52 62<18+42<12+42<6+45 45<18+45<12+39<6 j67: <:internal:> , -1 h.-4,92 w. 45<18+45<12+45<6+52 44<18+51<12+45<6+45 45<18+45<12+45<6+45 46<18+44<12+45<6+44 51<18+45<12+62<6+62 62<18+62<12+45<6+45 41<18+45<12+43<6+43 43<18+45<12+45<6+45 45<18+45<12+45<6+45 56<18 z. j68: <:tail:> , -1 h.0,20 w. 46<18+52<12+45<6+62 62<18+62<12+62<6+ 2 j69: <:zone:> , -1 h.-36,h5 w. 45<18+45<12+45<6+45 45<18+12<12+46<6+52 45<18+45<12+45<6+45 12<18+51<12+45<6+14 8<18+ 7<12+12<6+62 12<18+45<12+45<6+45 62<18+12<12+62<6+62 62<18+39<12 j70: <:share:> , -1 h.0,h6 w. 45<18+45<12+45<6+46 45<18+45<12+45<6+45 45<18+45<12+45<6+45 39<18 c.h57<2 j71: <:note:> , -1 h.0,22 w. 47<18+46<12+52<6+45 45<18+45<12+46<6+45 2<18 z. c.h57<3 j71: <:entry:> , -1 h.0,36 w. 62<18+45<12+45<6+52 45<18+52<12+39<6 j72: <:chaintable:> , -1 h.-36,66 w. 45<18+62<12+45<6+45 52<18+45<12+52<6+45 45<18+46<12+46<6+46 33<18 z. j73: <:answer:>, 0 , -1 h.0,10 w. 44<18+45<12+45<6+45 45<18+ 2<12 d3: -1 i.e. ; output table b.j1 w. j0., j1. d4. f96: j0: <:end:> ,0,-1, jl. i0. j1: <:bittable:> ,-1, jl. i1. d4: -1 i.e. ; action table b.i14,j80 w. i0., i1., i2., i3., i4., i5., i6., i7., i8. i10.,i11.,i12.,i13.,i14. c.h57<3 j71.,j72.,j73.,j74.,j75.,j76. z. j0., j1., j2., j3., j4., j5., j6., j7., j8., j9. j10.,j11.,j12.,j13.,j14.,j15.,j16.,j17.,j18.,j19. j20.,j21.,j22.,j23.,j24.,j25.,j26.,j27.,j28.,j29. j30.,j31.,j32.,j33.,j34.,j35.,j36.,j37.,j38.,j39. j40.,j41.,j42.,j43.,j44.,j45.,j46.,j47.,j48.,j49. j50.,j51.,j52.,j53.,j54.,j55.,j56.,j57.,j58.,j59. j60.,j61.,j62.,j63.,j64.,j65.,j66.,j67.,j68.,j69. j70. i9. d5. d8: jl. a32. d9: jl. a33. i0: <:clear:> ,-1 jl. a30. i1: <:write:> ,-1 jl. a31. i2: <:monitor:> ,0,f0,<:procedure:>,0,f0-6,-1 rl w0 x2+0 rs.w0 4 jl.w3 a32. 0 i3: <:fp:> ,0,0,0,f0,<:procedure:>,0,f0-6,-1 rl.w0 8 wa w0 x2+0 rs.w0 4 jl.w3 d9. -k i4: <:do:> ,-1 jl. a34. i5: <:if:> ,-1 jl. a35. i6: <:while:> ,-1 jl. a36. <:if:>,f97: i7: <:fi:> ,-1 jl. a0. <:do:>,f98: i8: <:od:> ,-1 jl. a37. i9: <:wait:> ,-1 jl. a38. i10: <:exit:> ,-1 jl. a4. i11: <:go:> ,-1 jl. a39. <:go:>,f99: i12: <:og:> ,-1 jl. a40. i13: <:slang:> ,-1 jl. a41. i14: <:jump:> ,-1 jl. a42. j0: <:set:> ,0,0,0,f0,<:interrupt:>,0,-1,jl.w3 d8., 0 j1: <:process:> ,0,f0,<:description:>,-1,jl.w3 d8., 4 j2: <:initialize:> ,f0,<:process:> ,-1,jl.w3 d8., 6 j3: <:reserve:> ,0,f0,<:process:> ,-1,jl.w3 d8., 8 j4: <:release:> ,0,f0,<:process:> ,-1,jl.w3 d8.,10 j5: <:include:> ,0,f0,<:user:> ,-1,jl.w3 d8.,12 j6: <:exclude:> ,0,f0,<:user:> ,-1,jl.w3 d8.,14 j7: <:send:> ,0,0,f0,<:message:> ,-1,jl.w3 d8.,16 j8: <:wait:> ,0,0,f0,<:answer:> ,0,-1,jl.w3 d8.,18 j9: <:wait:> ,0,0,f0,<:message:> ,-1,jl.w3 d8.,20 j10: <:send:> ,0,0,f0,<:answer:> ,0,-1,jl.w3 d8.,22 j11: <:wait:> ,0,0,f0,<:event:> ,-1,jl.w3 d8.,24 j12: <:get:> ,0,0,0,f0,<:event:> ,-1,jl.w3 d8.,26 j13: <:get:> ,0,0,0,f0,<:clock:> ,-1,jl.w3 d8.,36 j14: <:set:> ,0,0,0,f0,<:clock:> ,-1,jl.w3 d8.,38 j15: <:create:> ,0,0,f0,<:entry:> ,-1,jl.w3 d8.,40 j16: <:look:> ,0,0,f0 <:up:> ,0,0,0,f0,<:entry:> ,-1,jl.w3 d8.,42 j17: <:change:> ,0,0,f0,<:entry:> ,-1,jl.w3 d8.,44 j18: <:rename:> ,0,0,f0,<:entry:> ,-1,jl.w3 d8.,46 j19: <:remove:> ,0,0,f0,<:entry:> ,-1,jl.w3 d8.,48 j20: <:permanent:>,0,f0,<:entry:> ,-1,jl.w3 d8.,50 j21: <:create:> ,0,0,f0 <:area:> ,0,0,f0,<:process:> ,-1,jl.w3 d8.,52 j22: <:create:> ,0,0,f0 <:peripheral:> ,f0,<:process:> ,-1,jl.w3 d8.,54 j23: <:create:> ,0,0,f0 <:internal:> ,0,f0,<:process:> ,-1,jl.w3 d8.,56 j24: <:start:> ,0,0,f0 <:internal:> ,0,f0,<:process:> ,-1,jl.w3 d8.,58 j25: <:stop:> ,0,0,f0 <:internal:> ,0,f0,<:process:> ,-1,jl.w3 d8.,60 j26: <:modify:> ,0,0,f0 <:internal:> ,0,f0,<:process:> ,-1,jl.w3 d8.,62 j27: <:remove:> ,0,0,f0,<:process:> ,-1,jl.w3 d8.,64 j28: <:generate:> ,0,f0,<:name:> ,-1,jl.w3 d8.,68 j65: <:copy:> ,-1,jl.w3 d8.,70 c.h57<2 j29: <:modify:> ,0,0,f0 <:backing:> ,0,f0,<:store:> ,-1,jl.w3 d8.,72 j30: <:select:> ,0,0,f0 <:backing:> ,0,f0,<:store:> ,-1,jl.w3 d8.,74 j66: <:select:> ,0,0,f0,<:mask:> ,-1,jl.w3 d8.,76 j67: <:test:> ,0,0,f0,<:log:> ,-1,jl.w3 d8.,78 j68: <:return:> ,0,0,f0,<:status:> ,0,-1,jl.w3 d8.,80 z. c.h57<3 j29: <:set:> ,0,0,0,f0 <:catalog:> ,0,f0,<:base:> ,-1,jl.w3 d8.,72 j30: <:set:> ,0,0,0,f0 <:entry:> ,0,0,f0,<:base:> ,-1,jl.w3 d8.,74 j66: <:lookup:> ,0,0,f0,<:head:> ,0,0,f0 <:and:> ,0,0,0,f0,<:tail:> ,-1,jl.w3 d8.,76 j67: <:set:> ,0,0,0,f0,<:backing:> ,0,f0 <:storage:> ,0,f0,<:claims:> ,-1,jl.w3 d8.,78 j68: <:create:> ,0,0,f0 <:pseudo:> ,0,0,f0,<:process:> ,-1,jl.w3 d8.,80 j71: <:regret:> ,0,0,f0,<:message:> ,-1,jl.w3 d8.,82 j72: <:create:> ,0,0,f0 <:backing:> ,0,f0,<:storage:> ,-1,jl.w3 d8.,84 j73: <:insert:> ,0,0,f0,<:entry:> ,-1,jl.w3 d8.,86 j74: <:remove:> ,0,0,f0 <:backing:> ,0,f0,<:storage:> ,-1,jl.w3 d8.,88 j75: <:permanent:>,0,f0 <:entry:> ,0,0,f0,<:in:> ,0,0,0,f0 <:auxiliary:>,0,f0,<:catalog:> ,-1,jl.w3 d8.,90 j76: <:create:> ,0,0,f0,<:entry:> ,0,0,f0 <:lock:> ,0,0,f0,<:process:> ,-1,jl.w3 d8.,92 z. j69: <:finis:> ,0,0,f0,<:message:> ,-1,jl.w3 d9.,h14. j31: <:inblock:> ,0,f0,<:current:> ,-1,jl.w3 d9.,h22.-2 j32: <:inblock:> ,-1,jl.w3 d9.,h22. j33: <:outblock:> ,0,f0,<:current:> ,-1,jl.w3 d9.,h23.-2 j34: <:outblock:> ,-1,jl.w3 d9.,h23. j35: <:wait:> ,0,0,f0 <:ready:> ,0,0,f0,<:input:> ,-1,jl.w3 d9.,h24.-4 j36: <:wait:> ,0,0,f0 <:ready:> ,0,0,f0,<:output:> ,0,-1,jl.w3 d9.,h24.-2 j37: <:wait:> ,0,0,f0,<:ready:> ,-1,jl.w3 d9.,h24. j38: <:inchar:> ,0,0,f0,<:current:> ,-1,jl.w3 d9.,h25.-2 j39: <:inchar:> ,0,-1,jl.w3 d9.,h25. j40: <:outchar:> ,0,f0,<:current:> ,-1,jl.w3 d9.,h26.-2 j41: <:outchar:> ,-1,jl.w3 d9.,h26. j42: <:connect:> ,0,f0 <:current:> ,0,f0,<:input:> ,-1,jl.w3 d9.,h27.-2 j43: <:connect:> ,0,f0,<:input:> ,-1,jl.w3 d9.,h27. j44: <:connect:> ,0,f0 <:current:> ,0,f0,<:output:> ,0,-1,jl.w3 d9.,h28.-2 j45: <:connect:> ,0,f0,<:output:> ,0,-1,jl.w3 d9.,h28. j46: <:stack:> ,0,0,f0,<:input:> ,-1,jl.w3 d9.,h29.-4 j47: <:stack:> ,0,0,f0,<:zone:> ,-1,jl.w3 d9.,h29. j48: <:unstack:> ,0,f0,<:input:> ,-1,jl.w3 d9.,h30.-4 j49: <:unstack:> ,0,f0,<:zone:> ,-1,jl.w3 d9.,h30. j50: <:outtext:> ,0,f0,<:current:> ,-1,jl.w3 d9.,h31.-2 j51: <:outtext:> ,-1,jl.w3 d9.,h31. j52: <:outinteger:> ,f0,<:current:> ,-1,jl.w3 d9.,h32.-2 j53: <:outinteger:> ,-1,jl.w3 d9.,h32. j54: <:outend:> ,0,0,f0,<:current:> ,-1,jl.w3 d9.,h33.-2 j55: <:outend:> ,0,-1,jl.w3 d9.,h33. j56: <:closeup:> ,0,f0,<:current:> ,-1,jl.w3 d9.,h34.-2 j57: <:closeup:> ,-1,jl.w3 d9.,h34. j58: <:parent:> ,0,0,f0,<:message:> ,-1,jl.w3 d9.,h35. j59: <:wait:> ,0,0,f0 <:free:> ,0,0,f0,<:input:> ,-1,jl.w3 d9.,h48.-4 j60: <:wait:> ,0,0,f0 <:free:> ,0,0,f0,<:output:> ,0,-1,jl.w3 d9.,h48.-2 j61: <:wait:> ,0,0,f0,<:free:> ,-1,jl.w3 d9.,h48. j70: <:break:> ,0,0,f0,<:message:> ,-1,jl.w3 d9.,h67. j62: <:terminate:>,0,f0,<:input:> ,-1,jl.w3 d9.,h79.-4 j63: <:terminate:>,0,f0,<:output:> ,0,-1,jl.w3 d9.,h79.-2 j64: <:terminate:>,0,f0,<:zone:> ,-1,jl.w3 d9.,h79. d5: -1 i.e. ; first free addr: e8=h55+(:k-h55+511:)/512*512 i.e. ; end program block; g0=k-h55 ; length:= load addr-first addr; i.e. ; end program segment; w. i2=g70-h55 e. g3=k-h55 ; length g0:g1:(:g3+511:)>9 ; segm 0, r.4 s2 ; date 0, 0 ; file block 2<12+i2 ; contents, entry g3 ; m.rc do 1977.09.26 c.h57<3 d. p.<:insertproc:> z. ▶EOF◀