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

  1. /
  2. /
  3.  
  4. / f34 -- if statement
  5.  
  6. .globl    sif
  7.  
  8. .globl    e2
  9. .globl    error
  10. .globl    rvalue
  11. .globl    code
  12. .globl    ifstmt
  13. .globl    iserror
  14. .globl    getsym
  15. .globl    geti
  16. .globl    genop
  17. .globl    getlab
  18. .globl    newline
  19.  
  20. sif:
  21.     jsr    r5,e2            / expression
  22.     jsr    r5,iserror
  23.         br 9f
  24.     cmp    r0,$34.            / )
  25.     bne    9f
  26.     jsr    r5,rvalue
  27.     mov    $"if,r0
  28.     jsr    r5,genop
  29.     bic    $!7,r3
  30.     cmp    r3,$3            / logical
  31.     bne    1f
  32.     jsr    r5,code
  33.         <; 1f\n\0>; .even
  34.     jsr    r5,ifstmt
  35.     jsr    r5,code
  36.         <1:\n\0>; .even
  37.     rts    r5
  38. 1:
  39.     mov    $3,-(sp)
  40. 1:
  41.     jsr    r5,getlab
  42.         br 8f
  43.     jsr    r5,code
  44.         <; .%d\0>; .even
  45.         r0
  46.     dec    (sp)
  47.     beq    1f
  48.     jsr    r5,getsym
  49.     cmp    r0,$36.
  50.     beq    1b
  51. 8:
  52.     tst    (sp)+
  53.     br    9f
  54. 1:
  55.     tst    (sp)+
  56.     jsr    r5,newline
  57.     jsr    r5,getsym
  58.     cmp    r0,$40.
  59.     bne    9f
  60.     rts    r5
  61.  
  62. 9:
  63.     jsr    r5,error; 40.
  64.     rts    r5
  65.  
  66.