From b5ad25d22e1341c86baa34039e054c6caebf6ced Mon Sep 17 00:00:00 2001 From: Dennis Ritchie Date: Tue, 26 Nov 1974 18:13:21 -0500 Subject: [PATCH] Research V5 development Work on file usr/source/s1/as23.s Synthesized-from: v5 --- usr/source/s1/as23.s | 166 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 166 insertions(+) create mode 100644 usr/source/s1/as23.s diff --git a/usr/source/s1/as23.s b/usr/source/s1/as23.s new file mode 100644 index 0000000000..11e7215e42 --- /dev/null +++ b/usr/source/s1/as23.s @@ -0,0 +1,166 @@ +/ +/ copyright 1972 bell telephone laboratories inc. +/ + +/ a3 -- pdp-11 assembler pass 2 + +assem: + jsr pc,readop + cmp r4,$5 + beq 2f + cmp r4,$'< + beq 2f + jsr pc,checkeos + br eal1 + mov r4,-(sp) + cmp (sp),$1 + bne 1f + mov $2,(sp) + jsr pc,getw + mov r4,numval +1: + jsr pc,readop + cmp r4,$'= + beq 4f + cmp r4,$': + beq 1f + mov r4,savop + mov (sp)+,r4 +2: + jsr pc,opline +dotmax: + tstb passno + bne eal1 + movb dotrel,r0 + asl r0 + cmp dot,txtsiz-4(r0) + blos ealoop + mov dot,txtsiz-4(r0) +eal1: + jmp ealoop +1: + mov (sp)+,r4 + cmp r4,$200 + bhis 1f + cmp r4,$2 + beq 3f + jsr r5,error; 'x + br assem +1: + tstb passno + bne 2f + movb (r4),r0 + bic $!37,r0 + beq 5f + cmp r0,$33 + blt 6f + cmp r0,$34 + ble 5f +6: + jsr r5,error; 'm +5: + bic $37,(r4) + bis dotrel,(r4) + mov 2(r4),brdelt + sub dot,brdelt + mov dot,2(r4) + br assem +2: + cmp dot,2(r4) + beq assem + jsr r5,error; 'p + br assem +3: + mov numval,r4 + jsr pc,fbadv + asl r4 + mov curfb(r4),r0 + movb dotrel,(r0) + mov 2(r0),brdelt + sub dot,brdelt + mov dot,2(r0) + br assem +4: + jsr pc,readop + jsr pc,expres + mov (sp)+,r1 + cmp r1,$symtab /test for dot + bne 1f + bic $40,r3 + cmp r3,dotrel / can't change relocation + bne 2f + cmp r3,$4 / bss + bne 3f + mov r2,dot + br dotmax +3: + sub dot,r2 + bmi 2f + mov r2,-(sp) +3: + dec (sp) + bmi 3f + clr r2 + mov $1,r3 + jsr pc,outb + br 3b +3: + tst (sp)+ + br dotmax +2: + jsr r5,error; '. + br ealoop +1: + cmp r3,$40 + bne 1f + jsr r5,error; 'r +1: + bic $37,(r1) + bic $!37,r3 + bne 1f + clr r2 +1: + bisb r3,(r1) + mov r2,2(r1) + +ealoop: + cmp r4,$'\n + beq 1f + cmp r4,$'\e + bne 9f + rts pc +1: + inc line +9: + jmp assem + +checkeos: + cmp r4,$'\n + beq 1f + cmp r4,$'; + beq 1f + cmp r4,$'\e + beq 1f + add $2,(sp) +1: + rts pc + +fbadv: + asl r4 + mov nxtfb(r4),r1 + mov r1,curfb(r4) + bne 1f + mov fbbufp,r1 + br 2f +1: + add $4,r1 +2: + cmpb 1(r1),r4 + beq 1f + tst (r1) + bpl 1b +1: + mov r1,nxtfb(r4) + asr r4 + rts pc + -- 2.20.1