Work on file usr/source/s1/as13.s
Synthesized-from: v5
--- /dev/null
+/
+/ copyright 1972 bell telephone laboratories inc.
+/
+
+/ a3 -- pdp-11 assembler pass 1
+
+assem:
+ jsr pc,readop
+ jsr pc,checkeos
+ br ealoop
+ tst ifflg
+ beq 3f
+ cmp r4,$200
+ blos assem
+ cmpb (r4),$21 /if
+ bne 2f
+ inc ifflg
+2:
+ cmpb (r4),$22 /endif
+ bne assem
+ dec ifflg
+ br assem
+3:
+ mov r4,-(sp)
+ jsr pc,readop
+ cmp r4,$'=
+ beq 4f
+ cmp r4,$':
+ beq 1f
+ mov r4,savop
+ mov (sp)+,r4
+ jsr pc,opline
+ br ealoop
+1:
+ mov (sp)+,r4
+ cmp r4,$200
+ bhis 1f
+ cmp r4,$1 / digit
+ beq 3f
+ jsr r5,error; 'x
+ br assem
+1:
+ bitb $37,(r4)
+ beq 1f
+ jsr r5,error; 'm
+1:
+ bisb dot-2,(r4)
+ mov dot,2(r4)
+ br assem
+3:
+ mov numval,r0
+ jsr pc,fbcheck
+ movb dotrel,curfbr(r0)
+ asl r0
+ movb dotrel,nxtfb
+ mov dot,nxtfb+2
+ movb r0,nxtfb+1
+ mov dot,curfb(r0)
+ movb fbfil,r0
+ sys write; nxtfb; 4
+ br assem
+4:
+ jsr pc,readop
+ jsr pc,expres
+ mov (sp)+,r1
+ cmp r1,$200
+ bhis 1f
+ jsr r5,error; 'x
+ br ealoop
+1:
+ cmp r1,$dotrel
+ bne 2f
+ bic $40,r3
+ cmp r3,dotrel
+ bne 1f
+2:
+ bicb $37,(r1)
+ bic $!37,r3
+ bne 2f
+ clr r2
+2:
+ bisb r3,(r1)
+ mov r2,2(r1)
+ br ealoop
+1:
+ jsr r5,error; '.
+ movb $2,dotrel
+ealoop:
+ cmp r4,$';
+ beq assem1
+ cmp r4,$'\n
+ bne 1f
+ inc line
+ br assem1
+1:
+ cmp r4,$'\e
+ bne 2f
+ tst ifflg
+ beq 1f
+ jsr r5,error; 'x
+1:
+ rts pc
+2:
+ jsr r5,error; 'x
+2:
+ jsr pc,checkeos
+ br assem1
+ jsr pc,readop
+ br 2b
+assem1:
+ jmp assem
+
+fbcheck:
+ cmp r0,$9.
+ bhi 1f
+ rts pc
+1:
+ jsr r5,error; 'f
+ clr r0
+ rts pc
+
+checkeos:
+ cmp r4,$'\n
+ beq 1f
+ cmp r4,$';
+ beq 1f
+ cmp r4,$'\e
+ beq 1f
+ add $2,(sp)
+1:
+ rts pc
+