.seg .psec data .data fp := r15; sp := rr14; _sigwstr:: .byte %40 .byte %5b .byte %24 .byte %5d .byte %73 .byte %69 .byte %67 .byte %2e .byte %63 .byte %9 .byte %9 .byte %52 .byte %65 .byte %76 .byte %3a .byte %20 .byte %34 .byte %2e .byte %32 .byte %20 .byte %9 .byte %30 .byte %39 .byte %2f .byte %32 .byte %39 .byte %2f .byte %38 .byte %33 .byte %20 .byte %30 .byte %39 .byte %3a .byte %34 .byte %37 .byte %3a .byte %34 .byte %31 .byte %0 .byte 0 .comm 0, _buffer1; .comm 0, _buffer2; .comm 0, _buffer3; .comm 0, _buffer4; .comm 0, _buffer5; .comm 0, _canonb; .comm 4, _rootdir; .comm 4, _runq; .comm 2, _lbolt; .comm 4, _lifetime; .comm 4, _time; .comm 2, _nblkdev; .comm 2, _nchrdev; .comm 2, _mpid; .comm 1, _runin; .comm 1, _runout; .comm 1, _runrun; .comm 1, _curpri; .comm 2, _maxmem; .comm 2, _umemory; .comm 4, _swplo; .comm 2, _nswap; .comm 2, _updlock; .comm 4, _rablock; .comm 128, _msgbuf; .comm 2, _rootdev; .comm 2, _swapdev; .comm 2, _pipedev; .comm 4, _serial; .comm 2, _numterm; .comm 2, _manboot; .comm 2, _blkacty; .comm 2, _cputype; .comm 112, _sysinfo; .comm 6, _syswait; .comm 2, _dk_busy; .comm 128, _dk_time; .comm 12, _dk_numb; .comm 12, _dk_wds; .comm 4, _tk_nin; .comm 4, _tk_nout; .comm 10, _ipc; /*~~signal:*/ .psec .code _signal:: { dec fp,#~L2 ldm _stkseg+4(fp),r10,#4 ld |_stkseg+~L1+0|(fp),r6 ld r13,r7 test r7 jpr eq,L10000 ldl rr10,#_proc jpr L98 L20001: ldl rr2,rr10 inc r3,#12 cp r13,@rr2 jpr ne,L96 ldl rr6,rr10 ld r5,|_stkseg+~L1|(fp) callr _psignal L96: add r11,#36 L98: ld r3,_Nproc mult rr2,#36 ldl rr4,#_proc add r5,r3 cpl rr10,rr4 jpr ult,L20001 L10000: ldm r10,_stkseg+4(fp),#4 inc fp,#~L2 ret ~L1 := 0 ~L2 := 12 } /* _signal */ .psec data .data /*~~psignal:*/ .psec .code _psignal:: { dec fp,#~L2 ldm _stkseg+6(fp),r11,#3 ld r11,r5 ldl rr12,rr6 dec r11,#1 cp r11,#0 jpr lt,L10003 cp r11,#20 jpr ge,L10003 ldl rr2,#1 sdal rr2,r11 ldl rr4,rr12 inc r5,#6 ldl rr6,@rr4 or r6,r2 or r7,r3 ldl @rr4,rr6 cpb @rr12,#1 jpr ne,L10003 ldb rl2,rr12(#2) cpb rl2,#25 jpr le,L10003 cpb rl2,#50 jpr le,L104 ldl rr2,rr12 inc r3,#2 ldb @rr2,#50 L104: ldl rr6,rr12 callr _setrun L10003: ldm r11,_stkseg+6(fp),#3 inc fp,#~L2 ret ~L1 := 0 ~L2 := 12 } /* _psignal */ .psec data .data /*~~issig:*/ .psec .code _issig:: { dec fp,#~L2 ldm _stkseg+4(fp),r8,#6 ldl rr10,_u+32 jpr L108 L20003: ldl rr2,_u+330 ldk r2,#0 and r3,#1 testl rr2 jpr eq,L112 ldl rr8,#_proc+36 L115: ld r3,_Nproc mult rr2,#36 ldl rr4,#_proc add r5,r3 cpl rr8,rr4 jpr uge,L120 ldl rr2,rr8 inc r3,#16 ld r4,rr10(#14) cp r4,@rr2 jpr ne,L113 cpb @rr8,#5 jpr ne,L113 ldl rr6,rr8 sub r5,r5 callr _freeproc L113: add r9,#36 jpr L115 L112: ldl rr2,_u+330 test r3 jpr ne,L20004 jpr L120 L20006: ldl rr6,rr10 callr _fsig ld r13,r2 cp r2,#18 jpr eq,L20003 dec r2,#1 sla r2,#2 ldl rr4,_u+262(r2) ldk r4,#0 and r5,#1 testl rr4 jpr eq,L20004 ldb rl2,rr10(#1) extsb r2 bit r2,#4 jpr eq,L120 L20004: ld r2,r13 jpr L10007 L120: ld r2,r13 dec r2,#1 ldl rr4,#1 sdal rr4,r2 com r4 com r5 ldl rr2,rr10 inc r3,#6 ldl rr6,@rr2 and r6,r4 and r7,r5 ldl @rr2,rr6 L108: ldl rr2,rr10(#6) testl rr2 jpr ne,L20006 sub r2,r2 L10007: ldm r8,_stkseg+4(fp),#6 inc fp,#~L2 ret ~L1 := 0 ~L2 := 16 } /* _issig */ .psec data .data /*~~stop:*/ .psec .code _stop:: { dec fp,#~L2 ldm _stkseg+2(fp),r10,#4 jpr L124 L20010: ldl rr6,rr12 callr _wakeup ldb @rr10,#6 callr _swtch ldb rl2,rr10(#1) extsb r2 and r2,#16 test r2 jpr eq,L10011 callr _procxmt test r2 jpr ne,L10011 L124: ldl rr10,_u+32 ld r2,rr10(#16) cp r2,#1 jpr eq,L125 ldl rr12,#_proc jpr L128 L20008: ldl rr2,rr10 inc r3,#16 ld r4,rr12(#14) cp r4,@rr2 jpr eq,L20010 add r13,#36 L128: ld r3,_Nproc mult rr2,#36 ldl rr4,#_proc add r5,r3 cpl rr12,rr4 jpr ult,L20008 L125: ldl rr6,_u+32 callr _fsig ld |_stkseg+~L1|(fp),r2 ld r7,r2 callr _exit L10011: ldm r10,_stkseg+2(fp),#4 inc fp,#~L2 ret ~L1 := 0 ~L2 := 10 } /* _stop */ .psec data .data .even /*~~psig:*/ .psec .code _psig:: { .psec data .data .even L156: .long L152 .long L152 .long L152 .long L152 .long L152 .long L152 .long L142 .long L152 .long L152 .long L152 .psec .code dec fp,#~L2 ldm _stkseg+4(fp),r10,#4 ldl rr10,_u+32 ldb rl2,rr10(#1) extsb r2 bit r2,#4 jpr eq,L137 callr _stop L137: ldl rr6,rr10 callr _fsig ld r13,r2 test r2 jpr eq,L10015 dec r2,#1 ldl rr4,#1 sdal rr4,r2 com r4 com r5 ldl rr2,rr10 inc r3,#6 ldl rr6,@rr2 and r6,r4 and r7,r5 ldl @rr2,rr6 ld r2,r13 dec r2,#1 sla r2,#2 ldl rr4,_u+262(r2) ldl |_stkseg+~L1|(fp),rr4 testl rr4 jpr eq,L139 clrb _u+21 cp r13,#4 jpr eq,L140 cp r13,#5 jpr eq,L140 ld r2,r13 dec r2,#1 sla r2,#2 ldl rr4,#_u+262 add r5,r2 subl rr2,rr2 ldl @rr4,rr2 L140: ldl rr6,|_stkseg+~L1|(fp) ld r5,r13 callr _sendsig jpr L10015 L139: ld r2,r13 dec r2,#3 cp r2,#9 jpr ugt,L142 rl r2,#2 ldl rr4,L156(r2) jp @rr4 L152: callr _core test r2 jpr eq,L142 add r13,#128 L142: ld r7,r13 callr _exit L10015: ldm r10,_stkseg+4(fp),#4 inc fp,#~L2 ret ~L1 := 0 ~L2 := 12 } /* _psig */ .psec data .data /*~~fsig:*/ .psec .code _fsig:: { dec fp,#~L2 ld _stkseg+10(fp),r13 ldl |_stkseg+~L1+0|(fp),rr6 ldl rr2,rr6 ldl rr4,rr2(#6) ldl |_stkseg+~L1+4|(fp),rr4 ldk r13,#1 L20012: ldl rr2,|_stkseg+~L1+4|(fp) ldk r2,#0 and r3,#1 testl rr2 jpr eq,L161 ld r2,r13 jpr L10018 L161: ldl rr2,|_stkseg+~L1+4|(fp) sral rr2,#1 ldl |_stkseg+~L1+4|(fp),rr2 inc r13,#1 cp r13,#20 jpr lt,L20012 sub r2,r2 L10018: ld r13,_stkseg+10(fp) inc fp,#~L2 ret ~L1 := 0 ~L2 := 12 } /* _fsig */ .psec data .data L165: .byte %63,%6f,%72,%65,%0 .even /*~~core:*/ .psec .code _core:: { dec fp,#~L2 ldm _stkseg+4(fp),r11,#3 ld r2,_u+24 cp r2,_u+28 jpr eq,L164 L20015: sub r2,r2 jpr L10021 L164: clrb _u+21 ldl rr2,#L165 ldl _u+78,rr2 ldl rr6,#_schar ldk r5,#1 callr _namei ldl rr12,rr2 testl rr2 jpr ne,L166 testb _u+21 jpr ne,L20015 ld r7,#438 callr _maknode ldl rr12,rr2 testl rr2 jpr eq,L20015 L166: ldl rr6,rr12 ld r5,#128 callr _access test r2 jpr ne,L170 ld r2,rr12(#6) and r2,#61440 cp r2,#32768 jpr ne,L170 ldl rr6,rr12 callr _itrunc subl rr2,rr2 ldl _u+50,rr2 ldl rr2,#_u ldl _u+44,rr2 ld _u+48,#2560 ldb _u+20,#1 ld r2,_umemory inc r2,#1 sra r2,#1 ld r5,r2 exts rr4 ldl _u+1242,rr4 ldl rr6,rr12 callr _writei clrb _u+20 testb _u+544 jpr ne,L173 ldl rr2,_u+32 ld r4,rr2(#20) dec r4,#10 ld r11,r4 sub r7,r7 ld r6,r4 sub r5,r5 ldk r4,#1 callr _estabur ld _u+44,#16128 clr _u+46 ld r2,r11 ldb rh2,rl2 clrb rl2 ld _u+48,r2 L20017: ldl rr6,rr12 callr _writei jpr L180 L173: clrb |_stkseg+~L1+1|(fp) jpr L178 L20014: ldb rl3,|_stkseg+~L1+1|(fp) extsb r3 ldb rl4,_u+1062(r3) extsb r4 bit r4,#7 jpr ne,L176 ldb rl2,|_stkseg+~L1+1|(fp) extsb r2 ldb rl3,_u+1062(r2) extsb r3 and r3,#127 ldb rh3,rl3 clrb rl3 ld _u+44,r3 clr _u+46 ldb rl2,|_stkseg+~L1+1|(fp) extsb r2 sla r2,#2 ldb rl3,_u+552(r2) subb rh3,rh3 inc r3,#1 ldb rh3,rl3 clrb rl3 ld _u+48,r3 ldl rr6,rr12 callr _writei L176: incb |_stkseg+~L1+1|(fp),#1 L178: ldb rl2,|_stkseg+~L1+1|(fp) cpb rl2,_u+1190 jpr lt,L20014 ld r2,_u+1390 ldb rh2,rl2 clrb rl2 ld _u+44,r2 ldk r2,#0 ldb rl2,_u+1060 ldb rh2,rl2 clrb rl2 ld _u+46,r2 ldk r2,#0 ldb rl2,_u+1060 ld r3,r2 neg r3 add r3,#256 ldb rh3,rl3 clrb rl3 ld _u+48,r3 jpr L20017 L170: ldb _u+21,#13 L180: ldl rr6,rr12 callr _iput cpb _u+21,#0 ldk r2,#0 tcc eq,r2 L10021: ldm r11,_stkseg+4(fp),#3 inc fp,#~L2 ret ~L1 := 0 ~L2 := 10 } /* _core */ .psec data .data /*~~grow:*/ .psec .code _grow:: { dec fp,#~L2 ldm _stkseg+4(fp),r8,#6 ld |_stkseg+~L1+0|(fp),r7 ld r6,_u+220 dec r6,#1 ld r2,r6 neg r2 add r2,#256 ldb rh2,rl2 clrb rl2 cp r2,r7 jpr gt,L184 L20024: sub r2,r2 jpr L10025 L184: ldk r13,#6 jpr L187 L20019: ld r2,_u+220 inc r2,#10 add r2,r12 add r2,_u+218 cp r2,#256 jpr ge,L187 ld r5,_u+220 add r5,r12 ld r6,_u+218 ld r7,_u+216 ldk r4,#1 callr _estabur L187: ld r2,r13 dec r13,#1 test r2 jpr eq,L20024 ldk r2,#0 ld r3,|_stkseg+~L1|(fp) addl rr2,#255 sral rr2,#8 ld r2,r3 neg r2 add r2,#256 sub r2,_u+220 add r2,r13 ld r12,r2 cp r2,#0 jpr le,L187 testb _u+544 jpr eq,L20019 ld r2,_u+220 add r2,r12 cp r2,#256 jpr gt,L187 ld r2,_u+220 add r2,r12 ld r3,r2 neg r3 add r3,#256 ldb _u+1060,rl3 ldl rr8,_u+32 ld r7,rr8(#20) add r7,r12 callr _expand ld r2,rr8(#18) ldl rr4,rr8 add r5,#20 add r2,@rr4 ld r10,r2 ld r11,_u+220 jpr L198 L20023: dec r10,#1 ld r7,r10 sub r7,r12 ld r6,r10 callr _copyseg dec r11,#1 L198: test r11 jpr ne,L20023 ld r11,r12 jpr L202 L20021: dec r10,#1 ld r7,r10 callr _clearseg dec r11,#1 L202: test r11 jpr ne,L20021 ld r2,_u+220 add r2,r12 ld _u+220,r2 ldk r2,#1 L10025: ldm r8,_stkseg+4(fp),#6 inc fp,#~L2 ret ~L1 := 0 ~L2 := 16 } /* _grow */ .psec data .data /*~~ptrace:*/ .psec .code _ptrace:: { dec fp,#~L2 ldm _stkseg+0(fp),r10,#4 ldl rr10,_u+36 cp @rr10,#0 jpr gt,L206 ldl rr2,_u+32 inc r3,#1 setb @rr2,#4 jpr L10028 L206: ldl rr12,#_proc jpr L209 L20026: cpb @rr12,#6 jpr ne,L207 ldl rr2,rr10 inc r3,#2 ld r4,rr12(#14) cp r4,@rr2 jpr ne,L207 ldl rr2,_u+32 inc r3,#14 ld r4,rr12(#16) cp r4,@rr2 jpr eq,L212 L207: add r13,#36 L209: ld r3,_Nproc mult rr2,#36 ldl rr4,#_proc add r5,r3 cpl rr12,rr4 jpr ult,L20026 ldb _u+21,#3 jpr L10028 L212: test _ipc jpr eq,L213 ldl rr6,#_ipc ld r5,#25 callr _sleep jpr L212 L213: ld r2,rr12(#14) ld _ipc,r2 ld r2,rr10(#8) ld _ipc+8,r2 ldl rr2,rr10(#4) and r2,#32512 ldl _ipc+4,rr2 ld r2,@rr10 ld _ipc+2,r2 ldl rr4,rr12 inc r5,#1 resb @rr4,#5 ldl rr6,rr12 callr _setrun jpr L215 L20028: ldl rr6,#_ipc ld r5,#25 callr _sleep L215: cp _ipc+2,#0 jpr gt,L20028 ld r2,_ipc+8 ld _u+40,r2 cp _ipc+2,#0 jpr ge,L217 ldb _u+21,#5 L217: clr _ipc ldl rr6,#_ipc callr _wakeup L10028: ldm r10,_stkseg+0(fp),#4 inc fp,#~L2 ret ~L1 := 0 ~L2 := 8 } /* _ptrace */ .psec data .data .even /*~~procxmt:*/ .psec .code _procxmt:: { .psec data .data .even L265: .long L224 .long L229 .long L232 .long L234 .long L247 .long L249 .long L259 .long L263 .long L258 .psec .code sub fp,#~L2 ldm _stkseg+6(fp),r8,#6 ldl rr2,_u+32 inc r3,#14 ld r4,_ipc cp r4,@rr2 jpr eq,L219 L20031: sub r2,r2 jpr L10031 L219: ld r13,_ipc+2 clr _ipc+2 ldl rr6,#_ipc callr _wakeup testb _u+544 jpr ne,L220 ld r7,_ipc+6 callr _nsseg ld _ipc+4,r2 L220: ld r2,r13 dec r2,#1 cp r2,#8 jpr ugt,L228 rl r2,#2 ldl rr4,L265(r2) jp @rr4 L224: testb _u+544 jpr ne,L229 ld r7,_ipc+6 ldl rr4,#_ipc+8 callr _fuiword test r2 jpr eq,L20031 jpr L228 L229: ldl rr6,_ipc+4 ldl rr4,#_ipc+8 callr _fuword test r2 jpr eq,L20031 jpr L228 L232: ld r13,_ipc+6 cp r13,#0 jpr lt,L228 cp r13,#2560 jpr uge,L228 ld r2,r13 sra r2,#1 add r2,r2 ld r3,_u(r2) ld _ipc+8,r3 jpr L20031 L234: ldl rr2,_u+32 ldl rr4,rr2(#26) ldl rr8,rr4 testl rr4 jpr eq,L235 ldb rl4,rr8(#10) cpb rl4,#1 jpr ne,L228 ldl rr4,rr8(#6) ld r6,rr4(#6) bit r6,#9 jpr ne,L228 ldl rr2,rr4 resb @rr2,#5 L235: testb _u+544 jpr eq,L237 testb _u+484 jpr eq,L238 ldb rl7,_ipc+4 ldb rh7,#0 ld r6,#-1 ld r5,r6 sub r4,r4 callr _ldsdr L238: ldl rr6,_ipc+4 ld r5,_ipc+8 callr _suword test r2 jpr ne,L228 testb _u+484 jpr eq,L243 ldb rl7,_ipc+4 ldb rh7,#0 ld r6,#-1 ld r5,r6 ldk r4,#1 callr _ldsdr jpr L243 L237: ld r7,_u+216 ld r6,_u+218 ld r5,_u+220 sub r4,r4 callr _estabur ld r7,_ipc+6 ld r6,_ipc+8 callr _suiword test r2 jpr ne,L228 ld r7,_u+216 ld r6,_u+218 ld r5,_u+220 ldk r4,#1 callr _estabur L243: testl rr8 jpr eq,L20031 ldl rr2,rr8 inc r3,#12 setb @rr2,#1 jpr L20031 L247: ldl rr6,_ipc+4 ld r5,_ipc+8 callr _suword test r2 jpr ne,L228 jpr L20031 L249: ld r13,_ipc+6 ld r2,r13 sra r2,#1 add r2,r2 ldl rr4,#_u add r5,r2 ldl rr10,rr4 ldk r13,#0 L20030: ld r2,r13 add r2,r13 ldl rr4,_u+362 add r5,r2 cpl rr10,rr4 jpr eq,L254 inc r13,#1 cp r13,#15 jpr lt,L20030 ldl rr2,_u+362 add r3,#30 cpl rr10,rr2 jpr eq,L254 ldl rr2,_u+362 add r3,#38 cpl rr10,rr2 jpr eq,L254 ldl rr2,_u+362 add r3,#34 cpl rr10,rr2 jpr ne,L228 ldl rr2,_u+362 ld r4,rr2(#34) and r4,#65280 ld r5,_ipc+8 and r5,#255 or r5,r4 ld _ipc+8,r5 L254: ld r2,_ipc+8 ld @rr10,r2 jpr L20031 L258: ldl rr2,_u+362 add r3,#34 set @rr2,#0 L259: cp _ipc+6,#1 jpr eq,L260 testb _u+544 jpr eq,L261 ldl rr2,_u+362 add r3,#36 ld r4,_ipc+4 ld @rr2,r4 L261: ldl rr2,_u+362 add r3,#38 ld r4,_ipc+6 ld @rr2,r4 L260: ldl rr2,_u+32 inc r3,#6 subl rr4,rr4 ldl @rr2,rr4 test _ipc+8 jpr eq,L262 ldl rr6,_u+32 ld r5,_ipc+8 callr _psignal L262: ldk r2,#1 jpr L10031 L263: ldl rr6,_u+32 callr _fsig ld |_stkseg+~L1+4|(fp),r2 ld r7,r2 callr _exit L228: ld _ipc+2,#-1 jpr L20031 L10031: ldm r8,_stkseg+6(fp),#6 add fp,#~L2 ret ~L1 := 0 ~L2 := 18 } /* _procxmt */ .psec data .data