home *** CD-ROM | disk | FTP | other *** search
/ minnie.tuhs.org / unixen.tar / unixen / PDP-11 / Trees / V6 / usr / source / fort / f1 / f15.s < prev    next >
Encoding:
Text File  |  1975-07-17  |  895 b   |  87 lines

  1. /
  2. /
  3.  
  4. / f15 -- subroutine/function
  5.  
  6. .globl    ssubr
  7. .globl    sfunc
  8. .globl    sbloc
  9. .globl    sfunc1
  10. .globl    funok
  11.  
  12. .globl    getsym
  13. .globl    error
  14.  
  15. ssubr:
  16.     mov    $2,progt
  17.     br    1f
  18.  
  19. sfunc:
  20.     mov    $4,progt
  21. 1:
  22.     clr    r0
  23.     br    2f
  24.  
  25. sfunc1:
  26.     mov    $4,progt
  27. 2:
  28.     tst    funok
  29.     beq    1f
  30.     jsr    r5,error; 11.
  31. 1:
  32.     add    $10,r0        / class=simple
  33.     mov    r0,-(sp)
  34.     jsr    r5,getsym
  35.     mov    (sp)+,r2
  36.     tst    r0
  37.     beq    1f
  38. 2:
  39.     jsr    r5,error; 12.
  40.     rts    r5
  41. 1:
  42.     mov    r2,symtab(r3)
  43.     jsr    r5,getsym
  44.     cmp    r0,$32.        / (
  45.     beq    1f
  46.     cmp    r0,$40.    / eos
  47.     bne    2b
  48.     rts    r5
  49. 1:
  50.     clr    -(sp)
  51. 1:
  52.     add    $2,(sp)
  53.     jsr    r5,getsym
  54.     tst    r0
  55.     beq    3f
  56.     tst    (sp)+
  57.     br    2b
  58. 3:
  59.     bis    $200,symtab(r3)    / param
  60.     mov    (sp),symtab+6(r3)    / param number
  61.     jsr    r5,getsym
  62.     cmp    r0,$36.    / ,
  63.     beq    1b
  64.     tst    (sp)+
  65.     cmp    r0,$34.        / )
  66.     bne    2b
  67.     jsr    r5,getsym
  68.     cmp    r0,$40.
  69.     bne    2b
  70.     rts    r5
  71.  
  72. sbloc:
  73.     mov    $6,progt
  74.     jsr    r5,getsym
  75.     tst    funok
  76.     beq    1f
  77.     jsr    r5,error; 11.
  78. 1:
  79.     cmp    r0,$40.
  80.     beq    1f
  81.     jsr    r5,error; 13.
  82. 1:
  83.     rts    r5
  84.  
  85. .data
  86. funok:    0
  87.