mov $bufp,r1 1: mov r0,(r1)+ add $8,r0 mov r0,-2(r0) / bus address mov $-256.,-4(r0) / word count add $512.,r0 / buffer space cmp r1,$bufp+nbuf+nbuf blo 1b mov $sb0,(r1)+ / I/O queue entry drum mov $sb1,(r1)+ / I/O queue entry disk (mounted device) mov $swp,(r1)+ / I/O queue entry core image being swapped mov $[systm-inode]\/2,sb0+4 / sets up initial buffers per / format given in mov $systm,sb0+6 / memory map mov $-512.,sb1+4 mov $mount,sb1+6 mov $user,swp+6 / set devices to interrupt mov $100,*$lks / put 100 into clock status register; / enables clock interrupt / set up time out subroutines mov $touts,r0 mov $startty,(r0)+ / if toutt = 0 call startty mov $pptito,(r0)+ / if toutt+1 = 0 call pptito tst (r0)+ / add 2 to r0 mov $ntty-1,r1 1 : mov $xmtto,(r0)+ / if toutt+2 thru toutt+2+ntty=0 call xmtto dec r1 bne 1b / free all character blocks; see H.0 for description mov $510.,r2 mov $-1,r1 1: jsr r0,put sub $2,r2 bgt 1b / set up drum swap addresses; see H.0 for description mov $1024.-64.,r1 / highest drum address; high 64 blks allocated / to UNIX mov $p.dska,r2 / p.dska contains dis addresses for processes 1 : sub $17.,r1 / 17 blocks per process mov r1,(r2)+ cmp r2,$p.dska+nproc+nproc bne 1b