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

  1. /
  2. /
  3.  
  4. / f44 -- formats
  5.  
  6. .globl    formts
  7. .globl    strout
  8.  
  9. .globl    setln
  10. .globl    getln
  11. .globl    code
  12. .globl    error
  13. .globl    perror
  14. .globl    putc
  15. .globl    xbuf
  16.  
  17. formts:
  18.     jsr    r5,setln
  19.     mov    $2,r3
  20.     clr    xbuf+518.        / pick up zero efn formats
  21. 1:
  22.     jsr    r5,getln
  23.         br 1f
  24.     cmp    r0,$'s
  25.     beq    2f
  26.     cmp    r0,$'f
  27.     bne    1b
  28.     mov    efno,r0
  29.     jsr    r5,code
  30.         <.%d:    <\0>; .even
  31.         r0
  32.     mov    $line+6,r1
  33.     jsr    r5,strout
  34.     mov    efno,r0
  35.     neg    r0
  36.     br    3f
  37. 2:
  38.     mov    efno,r0
  39. 3:
  40.     clr    r2
  41. 2:
  42.     cmp    r2,r3
  43.     bhis    2f
  44.     cmp    r0,xbuf+518.(r2)
  45.     beq    3f
  46.     neg    r0
  47.     cmp    r0,xbuf+518.(r2)
  48.     beq    3f
  49.     add    $2,r2
  50.     neg    r0
  51.     br    2b
  52. 3:
  53.     jsr    r5,error; 51.
  54.     jsr    r5,perror
  55. 2:
  56.     mov    r0,xbuf+518.(r3)
  57.     add    $2,r3
  58.     br    1b
  59. 1:
  60.     jsr    r5,code
  61.         <    .even\n>; .even
  62.     jsr    r5,setln
  63. 1:
  64.     jsr    r5,getln
  65.         br 1f
  66.     cmp    r0,$'r
  67.     beq    2f
  68.     cmp    r0,$'i
  69.     bne    1b
  70.     mov    efno,r0
  71.     neg    r0
  72.     br    3f
  73. 2:
  74.     mov    efno,r0
  75. 3:
  76.     mov    $2,r2            / not zero
  77. 2:
  78.     cmp    r2,r3
  79.     bhis    2f
  80.     cmp    r0,xbuf+518.(r2)
  81.     beq    1b
  82.     add    $2,r2
  83.     br    2b
  84. 2:
  85.     jsr    r5,error; 52.
  86.     jsr    r5,perror
  87.     br    1b
  88. 1:
  89.     rts    r5
  90.  
  91. strout:
  92.     movb    (r1)+,r0
  93.     beq    3f
  94.     cmp    r0,$'>
  95.     beq    4f
  96.     cmp    r0,$'\\
  97.     bne    5f
  98. 4:
  99.     mov    r0,-(sp)
  100.     mov    $'\\,r0
  101.     jsr    r5,putc; obuf
  102.     mov    (sp)+,r0
  103. 5:
  104.     jsr    r5,putc; obuf
  105.     br    strout
  106. 3:
  107.     jsr    r5,code
  108.         <\\0\>\n\0>; .even
  109.     rts    r5
  110.  
  111.