swh:1:snp:2ca5d6eff8f04a671c0d5b13646cede522c64b7d
Raw File
Tip revision: 69f28986ad97c1e3d55279d696d1884c963f530e authored by Ken Thompson on 30 June 1970, 10:00:00 UTC
Research PDP7 development
Tip revision: 69f2898
s9.s
" s9 -- cold boot

. = coldentry+4

" zero i-list

   dzm ii
   jms copyz; dskbuf; 64
1:
   lac ii
   jms dskio; 07000
   isz ii
   -710
   tad ii
   sza
   jmp 1b

" free rest of disk

1:
   lac ii
   jms free
   isz ii
   -6400
   tad ii
   sza
   jmp 1b

" read in tapes

   dzm ii
1:
   dzm sum
   jms getw " count
   sza
   jmp .+3
   hlt
   jmp 1b " 0 count means pause
   dac xx
   isz ii
   lac ii
   jms iget
   jms copyz; inode; 12
   jms getw " flags
   dac i.flags
   -1
   dac i.uid
   jms getw " number links
   dac i.nlks
   -2
   tad xx
   dac i.size
   lac ii
   dac i.uniq
   law 4096-1
   dac 8
   -1
   tad i.size
   cma
   sna
   jmp 3f
   dac xx

2:
   jms getw
   dac 8 i
   isz xx
   jmp 2b
3:
   lac sum
   dac xx
   jms getw " checksum
   sad xx
   skp
   jms halt
   lac i.size
   dac .+4
   cla
   jms iwrite; 4096; ..
   jms iput
   cla
   jmp 1b

getw: 0
   jms getc
   alss 12
   lmq
   jms getc
   alss 6
   omq
   lmq
   jms getc
   omq
   lmq
   add sum
   dac sum
   lacq
   jmp getw i

getc: 0
   iof
   rsa
   rsf
   jmp .-1
   rrb
   sna
   jmp getc+1
   and o77
   ion
   jmp getc i
xx: 0
sum:  0
back to top