1: /
   2: /
   3: 
   4: / a3 -- pdp-11 assembler pass 2
   5: 
   6: assem:
   7:         jsr     pc,readop
   8:         cmp     r4,$5
   9:         beq     2f
  10:         cmp     r4,$'<
  11:         beq     2f
  12:         jsr     pc,checkeos
  13:                 br eal1
  14:         mov     r4,-(sp)
  15:         cmp     (sp),$1
  16:         bne     1f
  17:         mov     $2,(sp)
  18:         jsr     pc,getw
  19:         mov     r4,numval
  20: 1:
  21:         jsr     pc,readop
  22:         cmp     r4,$'=
  23:         beq     4f
  24:         cmp     r4,$':
  25:         beq     1f
  26:         mov     r4,savop
  27:         mov     (sp)+,r4
  28: 2:
  29:         jsr     pc,opline
  30: dotmax:
  31:         tstb    passno
  32:         bne     eal1
  33:         movb    dotrel,r0
  34:         asl     r0
  35:         cmp     dot,txtsiz-4(r0)
  36:         blos    ealoop
  37:         mov     dot,txtsiz-4(r0)
  38: eal1:
  39:         jmp     ealoop
  40: 1:
  41:         mov     (sp)+,r4
  42:         cmp     r4,$200
  43:         bhis    1f
  44:         cmp     r4,$2
  45:         beq     3f
  46:         jsr     r5,error; 'x
  47:         br      assem
  48: 1:
  49:         tstb    passno
  50:         bne     2f
  51:         movb    (r4),r0
  52:         bic     $!37,r0
  53:         beq     5f
  54:         cmp     r0,$33
  55:         blt     6f
  56:         cmp     r0,$34
  57:         ble     5f
  58: 6:
  59:         jsr     r5,error; 'm
  60: 5:
  61:         bic     $37,(r4)
  62:         bis     dotrel,(r4)
  63:         mov     2(r4),brdelt
  64:         sub     dot,brdelt
  65:         mov     dot,2(r4)
  66:         br      assem
  67: 2:
  68:         cmp     dot,2(r4)
  69:         beq     assem
  70:         jsr     r5,error; 'p
  71:         br      assem
  72: 3:
  73:         mov     numval,r4
  74:         jsr     pc,fbadv
  75:         asl     r4
  76:         mov     curfb(r4),r0
  77:         movb    dotrel,(r0)
  78:         mov     2(r0),brdelt
  79:         sub     dot,brdelt
  80:         mov     dot,2(r0)
  81:         br      assem
  82: 4:
  83:         jsr     pc,readop
  84:         jsr     pc,expres
  85:         mov     (sp)+,r1
  86:         cmp     r1,$symtab      /test for dot
  87:         bne     1f
  88:         bic     $40,r3
  89:         cmp     r3,dotrel       / can't change relocation
  90:         bne     2f
  91:         cmp     r3,$4           / bss
  92:         bne     3f
  93:         mov     r2,dot
  94:         br      dotmax
  95: 3:
  96:         sub     dot,r2
  97:         bmi     2f
  98:         mov     r2,-(sp)
  99: 3:
 100:         dec     (sp)
 101:         bmi     3f
 102:         clr     r2
 103:         mov     $1,r3
 104:         jsr     pc,outb
 105:         br      3b
 106: 3:
 107:         tst     (sp)+
 108:         br      dotmax
 109: 2:
 110:         jsr     r5,error; '.
 111:         br      ealoop
 112: 1:
 113:         cmp     r3,$40
 114:         bne     1f
 115:         jsr     r5,error; 'r
 116: 1:
 117:         bic     $37,(r1)
 118:         bic     $!37,r3
 119:         bne     1f
 120:         clr     r2
 121: 1:
 122:         bisb    r3,(r1)
 123:         mov     r2,2(r1)
 124: 
 125: ealoop:
 126:         cmp     r4,$'\n
 127:         beq     1f
 128:         cmp     r4,$'\e
 129:         bne     9f
 130:         rts     pc
 131: 1:
 132:         inc     line
 133: 9:
 134:         jmp     assem
 135: 
 136: checkeos:
 137:         cmp     r4,$'\n
 138:         beq     1f
 139:         cmp     r4,$';
 140:         beq     1f
 141:         cmp     r4,$'\e
 142:         beq     1f
 143:         add     $2,(sp)
 144: 1:
 145:         rts     pc
 146: 
 147: fbadv:
 148:         asl     r4
 149:         mov     nxtfb(r4),r1
 150:         mov     r1,curfb(r4)
 151:         bne     1f
 152:         mov     fbbufp,r1
 153:         br      2f
 154: 1:
 155:         add     $4,r1
 156: 2:
 157:         cmpb    1(r1),r4
 158:         beq     1f
 159:         tst     (r1)
 160:         bpl     1b
 161: 1:
 162:         mov     r1,nxtfb(r4)
 163:         asr     r4
 164:         rts     pc

Defined functions

assem defined in line 6; used 6 times
checkeos defined in line 136; used 1 times
  • in line 12
dotmax defined in line 30; used 2 times
eal1 defined in line 38; used 2 times
ealoop defined in line 125; used 3 times
fbadv defined in line 147; used 1 times
  • in line 74
Last modified: 1975-07-17
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 462
Valid CSS Valid XHTML 1.0 Strict