mirror of
https://github.com/DoctorWkt/unix-jun72.git
synced 2026-01-13 15:27:49 +00:00
57 lines
1.5 KiB
Plaintext
57 lines
1.5 KiB
Plaintext
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
|
|
|