beq 3f cmp r1,$'A blo 3f cmp r1,$'Z bhi 3f add $40,r1 3: movb tty+3(r0),0f jsr r0,putc; 0:.. / put char on input clist br 2f bitb $10,tty+4(r0) / echo bne 4f / branch echo bit set cmp r1,$12 bne 3f bitb $20,tty+4(r0) / cr beq 3f 4: cmp r1,$4 / is char input an eot beq 1f mov r1,-(sp) / put char on stack movb tty+3(r0),0f inc 0f jsr r0,putc; 0:.. / put char just input on output clist br .+2 jsr r0,starxmt mov (sp)+,r1 3: bitb $40,tty+4(r0) / raw bne 1f / branch if raw bit set cmp r1,$12 beq 1f movb tty+3(r0),r1 cmpb cc(r1),$15. blo 2f 1: movb tty+3(r0),0f jsr r0,wakeup; runq; 0:.. / call wakeup for process 2: jmp retisp txmt: 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) mov r3,-(sp) mov clockp,-(sp) mov $s.syst+2,clockp sub $txmt+4,r0 / 0%4 / offset in cc