wakeall:
       mov     $39.,0f / flll arg2 of wakeup call wlth 39
1:
       jsr     r0,wakeup; runq+4; 0:.. / wakeup the processes in the
       dec     0b                      / wait list; decrement arg2
       bge     1b / if not done, go back
       rts     r0

ttyo: / console typewriter output interrupt routine
       jsr     r0,setisp / save registers
       jsr     r0,startty / put a char on the console tty output buffer
       br      retisp / restore registers

retisp:
       mov     (sp)+,clockp / pop values before interrupt off the stack
       mov     (sp)+,r3
       mov     (sp)+,r2
       mov     (sp)+,r1
       mov     (sp)+,r0
       rti     / return from interrupt

ppti: / paper tape lnput interrupt routine
       jsr     r0,setisp / save registers
       movb    pptiflg,r1 / place "pptiflg" in r1
       jmp     *1f(r1) / jump to location speclfled by value of "pptiflg"
1:
       retisp / file not open
       1f / file just opened
       2f / file normal
       retisp / file not closed

1: / file just opened
       tstb    *$prs+1 / is error bit set in prs
       bge     1f / no
       jsr     r0,pptito / place 10 in toutt entry for ppt input
       br      retisp
1:
       movb    $4,pptiflg / change "pptiflg" to indicate file "normal"
2:
       jsr     r0,wakeup; runq+2; 2 / wakeup process for ppt input entry
                                    / in wlist
       tstb    *$prs+1 / is error bit set
       blt     1f / yes
       mov     *$prb,r1 / place contents ppt read buffer in r1
       jsr     r0,putc; 2 / place character in clist area for ppt input
               br .+2 / temp / if no space in clist character lost
       cmpb    cc+2,$50. / character count in clist area for ppt lnput
                         / greater than or equal to 50
       bhis    retisp / yes
       inc     *$prs / no, set reader enable bit in prs
       br      retisp
1:
       movb    $6,pptiflg / set pptiflg to 6 to indicate error bit set
       br      retisp

/lpto:
       
       
