1: /
   2: /
   3: 
   4: / f31 - pass3 dispatcher
   5: /
   6: /	main scan loop for pass3
   7: /	picks up executable statements
   8: /
   9: 
  10: .globl  pass3
  11: .globl  ifstmt
  12: 
  13: .globl  isagn
  14: .globl  signon
  15: .globl  signoff
  16: .globl  getline
  17: .globl  lookup
  18: .globl  sasgn
  19: .globl  error
  20: .globl  perror
  21: .globl  doend
  22: .globl  sform
  23: .globl  sdata
  24: .globl  sdo
  25: .globl  sassi
  26: .globl  scall
  27: .globl  scont
  28: .globl  sretu
  29: .globl  sgoto
  30: .globl  sif
  31: .globl  spaus
  32: .globl  sstop
  33: .globl  sread
  34: .globl  sprin
  35: .globl  swrit
  36: .globl  srewi
  37: .globl  sback
  38: .globl  sendf
  39: .globl  blocks
  40: .globl  blockp
  41: .globl  code
  42: .globl  ptemp
  43: .globl  dotabp
  44: 
  45: pass3:
  46:         jsr     r5,signon; 3
  47:         br      2f
  48: 
  49: scan3:
  50:         jsr     r5,getline
  51: 2:
  52:         mov     $blocks,blockp
  53:         mov     $line,r1
  54:         mov     r1,r2
  55:         jsr     r5,lookup; fmttab
  56:                 br 2f
  57:         mov     r0,-(sp)
  58:         jsr     r5,isagn
  59:                 br 1f
  60:         mov     (sp)+,r0
  61:         jsr     r5,*fmtlst(r0)
  62:         br      scan3
  63: 1:
  64:         tst     (sp)+
  65: 2:
  66:         mov     efno,r0
  67:         beq     1f
  68:         jsr     r5,ptemp; 's; efno; line
  69:         jsr     r5,code
  70:                 <.%d:\n\0>; .even
  71:                 r0
  72: 1:
  73:         jsr     r5,isagn
  74:                 br 1f
  75:         mov     r1,r2
  76:         jsr     r5,lookup; stmtab
  77:                 br 2f
  78:         mov     r2,r1
  79:         jsr     r5,*sublst(r0)
  80:         br      3f
  81: 1:
  82:         jsr     r5,sasgn
  83:         br      3f
  84: 2:
  85:         jsr     r5,error; 101.
  86: 3:
  87:         cmp     progt,$6
  88:         bne     1f
  89:         jsr     r5,error; 50. / execut in block data
  90: 1:
  91:         jsr     r5,perror
  92:         mov     efno,r0
  93:         beq     scan3
  94:         jsr     r5,doend
  95:         br      scan3
  96: 
  97: ifstmt:
  98:         mov     $blocks,blockp
  99:         jsr     r5,isagn
 100:                 br 1f
 101:         mov     r1,r2
 102:         jsr     r5,lookup; stmtab1
 103:                 br 2f
 104:         mov     r2,r1
 105:         cmp     r0,$4           / don't allow end
 106:         beq     2f
 107:         jmp     *sublst1(r0)
 108: 1:
 109:         jmp     sasgn
 110: 2:
 111:         jsr     r5,error; 101.
 112:         rts     r5
 113: 
 114: send:
 115:         tst     dotabp
 116:         beq     1f
 117:         clr     r0
 118:         jsr     r5,doend
 119:         br      send
 120: 1:
 121:         tst     progt
 122:         bne     1f
 123:         jsr     r5,sstop
 124:         br      2f
 125: 1:
 126:         cmp     progt,$6                / block data
 127:         beq     2f
 128:         jsr     r5,sretu
 129: 2:
 130:         jsr     r5,perror
 131:         jsr     r5,signoff; 3
 132: 
 133: sublst:
 134:         sdo
 135: sublst1:
 136:         sif
 137:         sendf
 138:         send
 139:         sassi
 140:         scall
 141:         scont
 142:         sretu
 143:         sgoto
 144:         spaus
 145:         sstop
 146:         sread
 147:         sprin
 148:         swrit
 149:         srewi
 150:         sback
 151: fmtlst:
 152:         sform
 153:         sdata
 154: stmtab:
 155:         <do\0>
 156: stmtab1:
 157:         <if(\0>
 158:         <endfile\0>
 159:         <end\0>         / keep in this spot!!!
 160:         <assign\0>
 161:         <call\0>
 162:         <continue\0>
 163:         <return\0>
 164:         <goto\0>
 165:         <pause\0>
 166:         <stop\0>
 167:         <read\0>
 168:         <print\0>
 169:         <write\0>
 170:         <rewind\0>
 171:         <backspace\0>
 172:         <\0>
 173: 
 174: fmttab:
 175:         <format\0>
 176:         <data\0>
 177:         <\0>
 178:         .even

Defined functions

fmtlst defined in line 151; used 1 times
  • in line 61
fmttab defined in line 174; used 1 times
  • in line 55
ifstmt declared in line 11; defined in line 97; used 3 times
pass3 declared in line 10; defined in line 45; used 1 times
  • in line 10
scan3 defined in line 49; used 3 times
send defined in line 114; used 2 times
stmtab defined in line 154; used 1 times
  • in line 76
stmtab1 defined in line 156; used 1 times
sublst defined in line 133; used 1 times
  • in line 79
sublst1 defined in line 135; used 1 times
Last modified: 1975-07-17
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 409
Valid CSS Valid XHTML 1.0 Strict