/ / / f11 -- fortran command / .globl pass1 .globl fptrap .globl getline .globl flush .globl perror .globl lookup .globl getype .globl ssubr .globl sfunc .globl sbloc .globl sextr .globl sdime .globl scomm .globl sequi .globl sdata .globl sform .globl simpl .globl stype .globl isagn .globl ptemp .globl funok .globl signoff .globl fopen .globl fcreat .globl lookid .globl tfil1, tfil2 .globl tfildiag pass1: sys signal; 4; fptrap cmp (sp)+,$2 bge 1f 2: mov $1,r0 sys write; mes2; emes2-mes2 clr r0 sys seek; 0; 2 mov $-1,r0 / bad status sys exit 1: tst (sp)+ mov (sp)+,r0 jsr r5,fopen; ibuf bcs 2b mov $tfil1,r0 jsr r5,fcreat; obuf bcs 2f mov $tfil2,r0 jsr r5,fcreat; tbuf bcc 1f 2: jmp tfildiag 1: / data segment initialization mov $2,nxtaloc mov $errb,errp mov $esymtab,esymp mov $namebuf,namep movb $'_,symbuf-1 jsr r5,lookid; blankc bis $40,symtab(r3) mov $imptab,r3 1: mov $realcon,r0 / real*4 cmp r3,$imptab+[2*['i-'a]] blo 2f cmp r3,$imptab+[2*['n-'a]] bhi 2f mov $intcon,r0 / integer*4 2: mov r0,[2*26.](r3) / lower case mov r0,(r3)+ / upper case cmp r3,$imptab+[2*26.] blo 1b / call pass1 / main scan loop for pass1 / picks up non executable statements / scan1: jsr r5,getline mov $line,r1 jsr r5,isagn br 2f mov r1,r2 jsr r5,lookup; stmtab br 1f mov r2,r1 jsr r5,*sublst(r0) mov pc,funok jsr r5,perror br scan1 1: jsr r5,getype br 2f mov r2,r1 jsr r5,stype jsr r5,perror mov pc,funok br scan1 2: jsr r5,ptemp; 'l; efno; line jsr r5,flush; tbuf jsr r5,signoff; 1 sublst: ssubr sfunc sbloc sextr sdime scomm sequi sdata sform simpl stmtab: <\0> .even mes2: emes2: blankc: <_\n\0> .even