home *** CD-ROM | disk | FTP | other *** search
/ minnie.tuhs.org / unixen.tar / unixen / PDP-11 / Trees / V6 / usr / source / fort / f3 / f35.s < prev    next >
Encoding:
Text File  |  1975-07-17  |  1.0 KB  |  88 lines

  1. /
  2. /
  3.  
  4. / f35 -- assignment statement
  5.  
  6. .globl    sasgn
  7. .globl    sassi
  8.  
  9. .globl    error
  10. .globl    e2
  11. .globl    lvalue
  12. .globl    rvalue
  13. .globl    code
  14. .globl    convrt
  15. .globl    geti
  16. .globl    getsym
  17. .globl    getlab
  18. .globl    genop
  19. .globl    newline
  20. .globl    name
  21.  
  22. sasgn:
  23.     jsr    r5,e2
  24.     cmp    r0,$38.        / =
  25.     bne    9f
  26.     mov    r2,-(sp)
  27.     jsr    r5,e2
  28.     cmp    r0,$40.        / =|
  29.     bne    8f
  30.     tst    *(sp)
  31.     bne    1f            / too hard for simple as
  32.     jsr    r5,rvalue
  33.     mov    (sp)+,r2
  34.     mov    2(r2),r2
  35.     mov    r2,-(sp)
  36.     mov    symtab(r2),r2
  37.     jsr    r5,convrt
  38.     mov    r2,r3
  39.     bis    $7,r3
  40.     mov    $"mv,r0
  41.     jsr    r5,genop
  42.     mov    (sp)+,r3
  43.     jsr    r5,name
  44.     rts    r5
  45. 1:
  46.     mov    r2,r3
  47.     mov    (sp)+,r2
  48.     mov    r3,-(sp)
  49.     jsr    r5,lvalue
  50.     mov    (sp)+,r2
  51.     mov    r3,-(sp)
  52.     jsr    r5,rvalue
  53. 1:
  54.     mov    (sp)+,r2
  55.     jsr    r5,convrt
  56.     mov    r2,r3
  57.     bis    $7,r3        / type 'g'
  58.     mov    $"as,r0
  59.     jsr    r5,genop
  60.     jsr    r5,newline
  61.     rts    r5
  62.  
  63. sassi:
  64.     jsr    r5,getlab
  65.         br 9f
  66.     mov    r0,-(sp)
  67.     cmpb    (r1)+,$'t
  68.     bne    8f
  69.     cmpb    (r1)+,$'o
  70.     bne    8f
  71.     jsr    r5,e2
  72.     cmp    r0,$40.            / =|
  73.     bne    8f
  74.     jsr    r5,lvalue
  75.     mov    (sp)+,r0
  76.     mov    r3,-(sp)
  77.     jsr    r5,code
  78.         <    lval; .%d\n\0>; .even
  79.         r0
  80.     mov    $int2con,r3
  81.     br    1b
  82. 8:
  83.     tst    (sp)+
  84. 9:
  85.     jsr    r5,error; 39.
  86.     rts    r5
  87.  
  88.