mirror of
https://github.com/DoctorWkt/unix-jun72.git
synced 2026-05-03 22:58:30 +00:00
- e09 cleaned up but still needs a once over
This commit is contained in:
18
pages/e09-01
18
pages/e09-01
@@ -1,14 +1,14 @@
|
||||
/ u9 -- unix
|
||||
|
||||
trcv:
|
||||
jsr rO,1f
|
||||
jsr rO,1f
|
||||
jsr rO,1f
|
||||
jsr rO,1f
|
||||
jsr rO,1f
|
||||
jsr rO,1f
|
||||
jsr rO,1f
|
||||
jsr rO,1f
|
||||
jsr r0,1f
|
||||
jsr r0,1f
|
||||
jsr r0,1f
|
||||
jsr r0,1f
|
||||
jsr r0,1f
|
||||
jsr r0,1f
|
||||
jsr r0,1f
|
||||
jsr r0,1f
|
||||
1:
|
||||
mov r1,-(sp)
|
||||
mov r2,-(sp)
|
||||
@@ -40,7 +40,7 @@ trcv:
|
||||
cmp r1,$34
|
||||
bne 3f
|
||||
5:
|
||||
mov tty+6(rO),r0
|
||||
mov tty+6(r0),r0
|
||||
beq 2f
|
||||
movb r1,6(r0) / interrupt or quit
|
||||
jsr r0,wakeall
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
add $40,r1
|
||||
3:
|
||||
movb tty+3(r0),0f
|
||||
jsr rO,putc; 0:.. / put char on input clist
|
||||
jsr r0,putc; 0:.. / put char on input clist
|
||||
br 2f
|
||||
bitb $10,tty+4(r0) / echo
|
||||
bne 4f / branch echo bit set
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
xmtto:
|
||||
mov r0,-(sp)
|
||||
mov 2(sp),rO / 0%2+6
|
||||
mov 2(sp),r0 / 0%2+6
|
||||
sub $6,r0
|
||||
asl r0
|
||||
asl r0 / 0%8
|
||||
@@ -24,14 +24,14 @@ starxmt:
|
||||
jsr r0,wakeup; runq+2; 0:.. / wakeup process identified
|
||||
/ by wlist
|
||||
1: / entry specified by argument in 0:
|
||||
mov (sp),r1 / O%8 / r1 contains tty number
|
||||
mov (sp),r1 / 0%8 / r1 contains tty number
|
||||
asr r1
|
||||
asr r1
|
||||
asr r1 / 0%1 r1 contalns tty number
|
||||
tstb toutt+3(r1) / is tout entry for tty output = 0
|
||||
bne 1f / no, return to calling routine
|
||||
mov (sp),r2 / yes, place (8xtty number) into r2
|
||||
tstb tcsr(r2) / does tty's tcsr register = O (is ready
|
||||
tstb tcsr(r2) / does tty's tcsr register = 0 (is ready
|
||||
/ bit = 0)
|
||||
bge 1f / yes, return to calling routine
|
||||
movb tty+2(r2),r1 / no, place third byte of "tty" buf
|
||||
@@ -39,7 +39,7 @@ starxmt:
|
||||
clrb tty+2(r2) / clear third byte
|
||||
tst r1 / is third byte = 0
|
||||
bne 3f / no, r1 contains a non nul character
|
||||
movb tty+3(r2),Of / yes, make byte 4 arg of "getc"
|
||||
movb tty+3(r2),0f / yes, make byte 4 arg of "getc"
|
||||
inc 0f / increment arg to make it tty output list of
|
||||
/ clist
|
||||
jsr r0,getc; 0:.. / obtain next character ln clist for tty
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
1:
|
||||
decb (r2) / col decrement column count in byte 2 of "tty"
|
||||
/ area
|
||||
bge 1f / if count >=O return to calling routine
|
||||
bge 1f / if count >=0 return to calling routine
|
||||
clrb (r2) / col set column count = 0
|
||||
br 1f
|
||||
2:
|
||||
|
||||
104
pages/e09-07
104
pages/e09-07
@@ -1,55 +1,57 @@
|
||||
/ area
|
||||
/ area
|
||||
1:
|
||||
tst (sp)+ / increment sp
|
||||
tst (sp)+ / increment sp
|
||||
1:
|
||||
tst 2(r5) / is char count for tty buffer = 0
|
||||
beg 1f / yes
|
||||
movb *4(r5),r1 / no, move character pointer to r1
|
||||
inc 4(r5) / increment character pointer
|
||||
dec 2(r5) / decrement character count
|
||||
jsr rO,passc § place character, whose address is in
|
||||
r1, in
|
||||
br 1b / user buffer area. Then get next character.
|
||||
tst 2(r5) / is char count for tty buffer = 0
|
||||
beq 1f / yes
|
||||
movb *4(r5),r1 / no, move character pointer to r1
|
||||
inc 4(r5) / increment character pointer
|
||||
dec 2(r5) / decrement character count
|
||||
jsr r0,passc / place character, whose address is in
|
||||
/ r1, in
|
||||
br 1b / user buffer area. Then get next character.
|
||||
1:
|
||||
jmp ret
|
||||
rcvch:
|
||||
mov 4(sp),r2 / O%B r2 contains Sxtty number
|
||||
mov $4,r1
|
||||
bit r1,rcsr(r2) / is carrier detection bit on
|
||||
bne 1f / yes
|
||||
bic $1,rcsr(r2) / no, clear data terminal ready bit
|
||||
rts rO
|
||||
1:
|
||||
movb tty+3(r2),Of / make cc offset arg for ugetcu
|
||||
mov $240,*$ps / set processor priority = 5
|
||||
jsr r0,qetc; 0:.. / get next character off clist
|
||||
br 2f / clist empty
|
||||
clr *$ps / set processor priority = O
|
||||
rts r0
|
||||
2= W N .. n
|
||||
mov 0b,Of / make getc arg an arg for sleep
|
||||
mov :5,-(sp) / save tty buffer address on stack
|
||||
jsr rO,sleep; 0:..
|
||||
mov (sp)+,r5
|
||||
br rcvch
|
||||
ocvt:
|
||||
sub $2S.,r1 / O%2 calculate tty table offset
|
||||
mov r1 ,1*2
|
||||
an r1 / 0%:1
|
||||
asl t1 / O%B
|
||||
mov 1:1,—(sp)
|
||||
add $6,r2 / calculate clist id clist offset
|
||||
movb r2,tty+3(r1) / pu: clist id 1n tty table
|
||||
1:
|
||||
mov (sp),r1
|
||||
bit $4,rcsr(r1) / carrier detect bit set
|
||||
bne 1f / if so, branch
|
||||
mov $511,rcsr(r1) / set ready, speed, interrupt enable,
|
||||
/ supervisor transmit
|
||||
movb tty+3(r1),Df / put clist id in sleep argument
|
||||
jsr rO,s1eep; 0;..
|
||||
br 1b
|
||||
1:
|
||||
mov tty+6(r1),r5 / put tty buffer address in r5
|
||||
tstb (rE) / first byte of tty buffer e 0
|
||||
jmp ret
|
||||
|
||||
rcvch:
|
||||
mov 4(sp),r2 / 0%8 r2 contains 8xtty number
|
||||
mov $4,r1
|
||||
bit r1,rcsr(r2) / is carrier detection bit on
|
||||
bne 1f / yes
|
||||
bic $1,rcsr(r2) / no, clear data terminal ready bit
|
||||
rts r0
|
||||
1:
|
||||
movb tty+3(r2),0f / make cc offset arg for "getc"
|
||||
mov $240,*$ps / set processor priority = 5
|
||||
jsr r0,qetc; 0:.. / get next character off clist
|
||||
br 2f / clist empty
|
||||
clr *$ps / set processor priority = 0
|
||||
rts r0
|
||||
2:
|
||||
mov 0b,0f / make "getc" arg an arg for "sleep"
|
||||
mov r5,-(sp) / save tty buffer address on stack
|
||||
jsr r0,sleep; 0:..
|
||||
mov (sp)+,r5
|
||||
br rcvch
|
||||
|
||||
ocvt:
|
||||
sub $28.,r1 / 0%2 calculate tty table offset
|
||||
mov r1 ,r2
|
||||
asl r1 / 0%4
|
||||
asl r1 / 0%8
|
||||
mov r1,-(sp)
|
||||
add $6,r2 / calculate clist id clist offset
|
||||
movb r2,tty+3(r1) / put clist id in tty table
|
||||
1:
|
||||
mov (sp),r1
|
||||
bit $4,rcsr(r1) / carrier detect bit set
|
||||
bne 1f / if so, branch
|
||||
mov $511,rcsr(r1) / set ready, speed, interrupt enable,
|
||||
/ supervisor transmit
|
||||
movb tty+3(r1),0f / put clist id in sleep argument
|
||||
jsr r0,sleep; 0;..
|
||||
br 1b
|
||||
1:
|
||||
mov tty+6(r1),r5 / put tty buffer address in r5
|
||||
tstb (r5) / first byte of tty buffer = 0
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ m u0 e00-*
|
||||
#m u6 e06-*
|
||||
#m u7 e07-*
|
||||
#m u8 e08-*
|
||||
#m u9 e09-*
|
||||
m u9 e09-*
|
||||
m ux e10-*
|
||||
#m sh e11-*
|
||||
#m ini e12-*
|
||||
|
||||
Reference in New Issue
Block a user