Merge pull request #165 from sebras/describe/dsksav.s

Attempt to describe purpose of source code in dsksav.s
This commit is contained in:
Phil Budne
2019-10-31 16:11:15 -04:00
committed by GitHub
+19 -13
View File
@@ -1,26 +1,32 @@
" dsksav " dsksav
iof " Copies the entire file system (except system image and
hlt " swap area) from side 1 of the disk onto same location
dzm track " on side 0.
-640 "
" I.e. copies the first 6400 blocks from side 1 to side 0.
iof " disable interrupts
hlt " halt the computer!
dzm track " start copying from block address 0
-640 " transfer 640 chunks of 10 blocks each
dac c1 dac c1
1: 1:
lac track lac track " read chunk of blocks starting at block "track" on side 1
jms dskrd1 jms dskrd1
lac track lac track " write chunk of blocks starting at block "track" on side 0
jms dskwr0 jms dskwr0
lac track lac track " proceed to next chunk (of 10 blocks)
tad d10 tad d10
dac track dac track
isz c1 isz c1 " increment chunks transferred, if there chunks remaining
jmp 1b jmp 1b " ...loop and transfer the next chunk
hlt hlt " ...otherwise halt the computer!
sys exit sys exit " call exit system call
track: 0 track: 0 " block address of chunk to transfer
c1: 0 c1: 0 " number of chunks remaining
d10: 10 d10: 10