sys: more comments
This commit is contained in:
+2
-2
@@ -317,8 +317,8 @@ rkbdi:
|
|||||||
wdspo:
|
wdspo:
|
||||||
jms chkint1
|
jms chkint1
|
||||||
jms forall
|
jms forall
|
||||||
jms dspput
|
jms dspput " put char (fallr "returns" here)
|
||||||
jmp fallr
|
jmp fallr " go back for next (continuation!)
|
||||||
jms sleep; sfiles+6
|
jms sleep; sfiles+6
|
||||||
jms swap
|
jms swap
|
||||||
jmp wdspo
|
jmp wdspo
|
||||||
|
|||||||
@@ -141,6 +141,9 @@ copyz: 0
|
|||||||
jmp copyz i " return
|
jmp copyz i " return
|
||||||
t = t+1
|
t = t+1
|
||||||
|
|
||||||
|
" put queued character
|
||||||
|
" CALLED FROM PI: AVOIDS INDIRECT!!
|
||||||
|
" queue number in AC
|
||||||
putchar: 0
|
putchar: 0
|
||||||
"** 01-s1.pdf page 23
|
"** 01-s1.pdf page 23
|
||||||
dac 9f+t
|
dac 9f+t
|
||||||
@@ -157,6 +160,14 @@ putchar: 0
|
|||||||
jmp putchar i
|
jmp putchar i
|
||||||
t = t+1
|
t = t+1
|
||||||
|
|
||||||
|
" get queued character
|
||||||
|
" CALLED FROM PI: AVOIDS INDIRECT!!
|
||||||
|
" queue number in AC:
|
||||||
|
" 1: tty input
|
||||||
|
" 2: tty output
|
||||||
|
" 3: display keyboard
|
||||||
|
" 4: paper tape reader
|
||||||
|
" 5: paper tape punch
|
||||||
getchar: 0
|
getchar: 0
|
||||||
jms takeq
|
jms takeq
|
||||||
jmp i getchar
|
jmp i getchar
|
||||||
@@ -168,6 +179,7 @@ getchar: 0
|
|||||||
isz getchar
|
isz getchar
|
||||||
jmp i getchar
|
jmp i getchar
|
||||||
|
|
||||||
|
" CALLED FROM PI: AVOIDS INDIRECT!!
|
||||||
takeq: 0
|
takeq: 0
|
||||||
rcl
|
rcl
|
||||||
tad lacq1
|
tad lacq1
|
||||||
|
|||||||
+13
-13
@@ -204,9 +204,9 @@ dspput: 0
|
|||||||
jms dspnl " yes
|
jms dspnl " yes
|
||||||
lac dsploc i " get display word
|
lac dsploc i " get display word
|
||||||
sad o400000 " TRAP?
|
sad o400000 " TRAP?
|
||||||
jmp dspleft " yes
|
jmp dspleft " yes (first character)
|
||||||
omq " no: get character back
|
omq " no: or in second character
|
||||||
dac dsploc i " save as "character 2"
|
dac dsploc i " save both characters
|
||||||
isz dsploc " advance display pointer
|
isz dsploc " advance display pointer
|
||||||
jmp i dspput
|
jmp i dspput
|
||||||
|
|
||||||
@@ -219,19 +219,19 @@ dspput: 0
|
|||||||
dspleft:
|
dspleft:
|
||||||
lac dsploc " get display pointer
|
lac dsploc " get display pointer
|
||||||
sad edspbuf " end of the buffer?
|
sad edspbuf " end of the buffer?
|
||||||
jmp 1f " yes
|
jmp 1f " yes: light up a button!?
|
||||||
dac 8
|
dac 8 " no: store in index
|
||||||
lac o400000 " get TRAP instruction
|
lac o400000 " get TRAP instruction
|
||||||
dac 8 i " store
|
dac 8 i " store as next
|
||||||
cla; llss 18+7
|
cla; llss 18+7 " shift MQ upto "char1" position
|
||||||
dac dsploc i
|
dac dsploc i " store word with char1
|
||||||
jmp dspput i
|
jmp dspput i
|
||||||
|
|
||||||
dspnl: 0
|
dspnl: 0 " only called once!
|
||||||
lac dsplno
|
lac dsplno " get display line number
|
||||||
sad d33
|
sad d33 " 33?
|
||||||
jmp 1f
|
jmp 1f " yes: light a button!
|
||||||
isz dsplno
|
isz dsplno " no: increment line number
|
||||||
jmp dspnl i
|
jmp dspnl i
|
||||||
1:
|
1:
|
||||||
lac o2000 " get bit for push button 7
|
lac o2000 " get bit for push button 7
|
||||||
|
|||||||
+11
-11
@@ -338,29 +338,29 @@ putcr: 0
|
|||||||
cla
|
cla
|
||||||
jmp putcr i
|
jmp putcr i
|
||||||
|
|
||||||
intrp1: " here with TTY interrupt character
|
intrp1: " here with TTY interrupt character
|
||||||
lac d6 " get keyboard special device number
|
lac d6 " get keyboard special device number
|
||||||
dac .int1 " save as interrupt source
|
dac .int1 " save as interrupt source
|
||||||
lac d1
|
lac d1 " drain tty input buffer?
|
||||||
jms getchar
|
jms getchar
|
||||||
skp
|
skp
|
||||||
jmp .-3
|
jmp .-3
|
||||||
lac d2
|
lac d2 " drain tty output buffer?
|
||||||
jms getchar
|
jms getchar
|
||||||
skp
|
skp
|
||||||
jmp .-3
|
jmp .-3
|
||||||
lac sfiles+0
|
lac sfiles+0 " wake ttyin sleepers
|
||||||
jms wakeup
|
jms wakeup
|
||||||
dac sfiles+0
|
dac sfiles+0
|
||||||
lac sfiles+1
|
lac sfiles+1 " wake ttyout sleepers
|
||||||
jms wakeup
|
jms wakeup
|
||||||
dac sfiles+1
|
dac sfiles+1
|
||||||
jms chkint " check if user interrupted
|
jms chkint " check if user interrupted
|
||||||
jmp piret " no, return from PI
|
jmp piret " no, return from PI
|
||||||
jmp 1f " yes: return from system call
|
jmp 1f " yes: return thru system call code (dump core)
|
||||||
intrp2: " here with display interrupt character
|
intrp2: " here with display interrupt character
|
||||||
lac d7
|
lac d7 " get keyboard special device number
|
||||||
dac .int2
|
dac .int2 " save as interrupt source
|
||||||
lac d3 " drain keyboard buffer?
|
lac d3 " drain keyboard buffer?
|
||||||
jms getchar
|
jms getchar
|
||||||
skp
|
skp
|
||||||
@@ -377,4 +377,4 @@ intrp2: " here with display interrupt character
|
|||||||
lac 0 " get interrupt PC
|
lac 0 " get interrupt PC
|
||||||
dac 020 " save as system call return PC
|
dac 020 " save as system call return PC
|
||||||
lac .ac " restore AC from interrupt
|
lac .ac " restore AC from interrupt
|
||||||
jmp 021 " join system call processing!!!
|
jmp 021 " join system call processing (dump core?)
|
||||||
|
|||||||
+9
-3
@@ -93,10 +93,16 @@ o777760: 0777760
|
|||||||
dm3: -3
|
dm3: -3
|
||||||
dm1: -1
|
dm1: -1
|
||||||
|
|
||||||
9: .=.+t
|
9: .=.+t " per-routine temp variables
|
||||||
c1: .=.+1
|
c1: .=.+1 " not used?
|
||||||
q1: q2;q2+90 "** ?? 98 ??
|
q1: q2;q2+98 " ** 90? 96?? " queue element free list?
|
||||||
.=.+14
|
.=.+14
|
||||||
|
" queues (two words each, head and tail pointers?)
|
||||||
|
" 1: tty input
|
||||||
|
" 2: tty output
|
||||||
|
" 3: display keyboard
|
||||||
|
" 4: paper tape reader
|
||||||
|
" 5: paper tape punch
|
||||||
q2:
|
q2:
|
||||||
.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0
|
.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0
|
||||||
.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0
|
.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0
|
||||||
|
|||||||
Reference in New Issue
Block a user