s4.s: more comments

This commit is contained in:
Phil Budne
2016-03-29 22:18:47 -04:00
parent 687bbb06cf
commit 615bdba101
+29 -27
View File
@@ -229,10 +229,14 @@ putq: 0
dac q1+1 .. dac q1+1 ..
jmp putq i jmp putq i
" NOTE!! srcdbs, collaps, dskrd, dskwr share the same "temp" vars!! " NOTE!! srcdbs, collaps, dskrd, dskwr share the same "temp" vars:
" "t0" temp!!
" "t1" contains pointer to (addr, buffer)
" "t2" contains block number
" check if disk block number in AC in memory " check if disk block number in AC in memory
" give skip return if block not found " give skip return if block NOT found
srcdbs: 0 srcdbs: 0
dac 9f+t+2 "* lmq " save block number in t2 dac 9f+t+2 "* lmq " save block number in t2
-ndskbs " loop for number of buffers -ndskbs " loop for number of buffers
@@ -241,10 +245,6 @@ srcdbs: 0
dac 9f+t+1 "* lacq " in t1 dac 9f+t+1 "* lacq " in t1
1: 1:
lac 9f+t+2 "** crossed out " get desired block number lac 9f+t+2 "** crossed out " get desired block number
" Phil: it looks to me like the next line
" is missing an indirect (t1 contains an address),
" but setting "i" breaks the kernel, so there must
" be something else missing/wrong as well!
sad 9f+t+1 i "** "8 i" written " match buffer block? sad 9f+t+1 i "** "8 i" written " match buffer block?
jmp srcdbs i " yes: return without skip jmp srcdbs i " yes: return without skip
law 65 "** crossed out " no: advance to next buffer law 65 "** crossed out " no: advance to next buffer
@@ -256,35 +256,37 @@ srcdbs: 0
jmp srcdbs i jmp srcdbs i
collapse: 0 collapse: 0
cla " look for block zero cla " look for free buffer
jms srcdbs " in memory? jms srcdbs " found?
jmp 1f " yes jmp 1f " yes
law dskbs law dskbs " no: reuse last buffer
dac 9f+t+1 "** 9f+t+1 crossed out: 8 written in dac 9f+t+1 "** 9f+t+1 crossed out: 8 written in
1: 1:
"** written: tad dm1
"** written: dac 8
lac 9f+t+1 "** 9f+t+1 crossed out: 8 written in lac 9f+t+1 "** 9f+t+1 crossed out: 8 written in
dac 0f+1 dac 0f+1 " save as copy dest
tad d65 "** crossed out: d2-- original obscured tad d65 "** crossed out w/ d2 " get start of next buffer
dac 0f dac 0f " save as copy src
cma cma
tad d1 tad d1
tad edskbsp tad edskbsp " subtract from end of buffers
and o17777 and o17777 " mask to 13 bits
sna sna " non-zero count?
jmp 0f+3 jmp 0f+3 " no: skip copy
dac 0f+2 dac 0f+2 " save as copy length
jms copy; 0:..; ..; .. jms copy; 0:..; ..; .. " slide buffers up
-65 -65
tad edskbsp tad edskbsp " get addr of last buffer
dac 9f+t dac 9f+t " save in t0
tad d1 tad d1 " get block data pointer
dac 0f dac 0f " save as copy dest
lac dskaddr lac dskaddr " get block number
dac 9f+t i dac 9f+t i " save in buffer header
jms copy; dskbuf; 0:..; 64 jms copy; dskbuf; 0:..; 64 " copy dskbuf to last buffer
jmp collapse i jmp collapse i
" read logical disk block number (2..7999) in AC " read logical disk block number (2..7999) in AC into dskbuf
dskrd: 0 dskrd: 0
jms betwen; d2; d7999 jms betwen; d2; d7999
@@ -323,7 +325,7 @@ t = t+3
" called to read/write logical block into "dskbuf" " called to read/write logical block into "dskbuf"
" AC/ block " AC/ block
" jms dskio; dsld_bits " jms dskio; DSLD_BITS
dskio: 0 dskio: 0
dac dskaddr dac dskaddr
cll; idiv; 80 cll; idiv; 80