1: /
   2: /
   3: 
   4: / f14 -- common statement
   5: /
   6: 
   7: .globl  scomm
   8: 
   9: .globl  getsym
  10: .globl  sdime1
  11: .globl  error
  12: .globl  getid
  13: .globl  lookid
  14: 
  15: scomm:
  16:         mov     r5,-(sp)
  17:         jsr     r5,getsym
  18:         cmp     r0,$6           / / for named common
  19:         beq     ncom
  20: 3:
  21:         tst     r0
  22:         bne     9f
  23:         mov     r3,-(sp)
  24:         clr     r5
  25:         br      2f
  26: 
  27: ncom:
  28:         cmpb    (r1),$'/
  29:         bne     3f
  30:         inc     r1
  31:         jsr     r5,getsym
  32:         br      3b
  33: 3:
  34:         jsr     r5,getid
  35:                 br 9f           / not identifier
  36:         jsr     r5,lookid; symbuf-1
  37:         bis     $40,symtab(r3)  / set named common
  38:         mov     r3,r5
  39:         jsr     r5,getsym
  40:         cmp     r0,$6           / /
  41:         bne     9f
  42: 1:
  43:         jsr     r5,getsym
  44:         tst     r0
  45:         bne     9f
  46:         mov     r3,-(sp)
  47: 2:
  48:         jsr     r5,getsym
  49:         cmp     r0,$32.         / (
  50:         bne     2f
  51:         mov     (sp),r3
  52:         jsr     r5,sdime1
  53:         jsr     r5,getsym
  54: 2:
  55:         mov     (sp)+,r3
  56:         bit     $300,symtab(r3) / test param/common
  57:         beq     2f
  58:         jsr     r5,error; 9.    / not commonable or already commoned
  59:         br      3f
  60: 2:
  61:         mov     r0,-(sp)
  62:         mov     symtab+4(r5),r0
  63:         beq     2f
  64:         mov     r3,symtab+4(r0) / next ptr of old last block
  65: 2:
  66:         mov     (sp)+,r0
  67:         mov     r3,symtab+4(r5) / new last ptr of head block
  68:         tst     symtab+2(r5)
  69:         bne     3f
  70:         mov     r3,symtab+2(r5) / first ptr if first block
  71: 3:
  72:         bis     $100,symtab(r3)
  73:         cmp     r0,$36.         / ,
  74:         beq     1b
  75:         cmp     r0,$6           / another /
  76:         beq     ncom
  77:         cmp     r0,$40.         / =|
  78:         beq     8f
  79: 9:
  80:         jsr     r5, error; 10.  / common syntax error
  81: 8:
  82:         mov     (sp)+,r5
  83:         rts     r5

Defined functions

ncom defined in line 27; used 2 times
scomm declared in line 7; defined in line 15; used 3 times
Last modified: 1975-07-17
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 456
Valid CSS Valid XHTML 1.0 Strict