/ u9 -- unix trcv: 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 $trcv+4,r0 / 0%4 / calculate offset for tty causing asl r0 / 0%8 / this interrupt mov rcsr(r0),r2 mov rcbr(r0),r1 tst r2 blt 1f / error tst tty+6(r0) beq 1f bit $40,r2 / parity bne 3f / branch if set tstb tty+4(r0) blt 4f / 37 parity not allowed br 2f 3: bitb $100,tty+4(r0) beq 2f / non-37 parity not allowed 4: bic $!177,r1 bit $40,tty+4(r0) bne 3f / raw cmp r1,$177 beq 5f cmp r1,$34 bne 3f 5: mov tty+6(r0),r0 beq 2f movb r1,6(r0) / interrupt or quit jsr r0,wakeall br 2f 3: cmp r1,$15 / or bne 3f bit $20,tty+4(r0) beq 3f mov $12,r1 3: bitb $4,tty+4(r0)