home *** CD-ROM | disk | FTP | other *** search
- /
- /
-
- / f44 -- formats
-
- .globl formts
- .globl strout
-
- .globl setln
- .globl getln
- .globl code
- .globl error
- .globl perror
- .globl putc
- .globl xbuf
-
- formts:
- jsr r5,setln
- mov $2,r3
- clr xbuf+518. / pick up zero efn formats
- 1:
- jsr r5,getln
- br 1f
- cmp r0,$'s
- beq 2f
- cmp r0,$'f
- bne 1b
- mov efno,r0
- jsr r5,code
- <.%d: <\0>; .even
- r0
- mov $line+6,r1
- jsr r5,strout
- mov efno,r0
- neg r0
- br 3f
- 2:
- mov efno,r0
- 3:
- clr r2
- 2:
- cmp r2,r3
- bhis 2f
- cmp r0,xbuf+518.(r2)
- beq 3f
- neg r0
- cmp r0,xbuf+518.(r2)
- beq 3f
- add $2,r2
- neg r0
- br 2b
- 3:
- jsr r5,error; 51.
- jsr r5,perror
- 2:
- mov r0,xbuf+518.(r3)
- add $2,r3
- br 1b
- 1:
- jsr r5,code
- < .even\n>; .even
- jsr r5,setln
- 1:
- jsr r5,getln
- br 1f
- cmp r0,$'r
- beq 2f
- cmp r0,$'i
- bne 1b
- mov efno,r0
- neg r0
- br 3f
- 2:
- mov efno,r0
- 3:
- mov $2,r2 / not zero
- 2:
- cmp r2,r3
- bhis 2f
- cmp r0,xbuf+518.(r2)
- beq 1b
- add $2,r2
- br 2b
- 2:
- jsr r5,error; 52.
- jsr r5,perror
- br 1b
- 1:
- rts r5
-
- strout:
- movb (r1)+,r0
- beq 3f
- cmp r0,$'>
- beq 4f
- cmp r0,$'\\
- bne 5f
- 4:
- mov r0,-(sp)
- mov $'\\,r0
- jsr r5,putc; obuf
- mov (sp)+,r0
- 5:
- jsr r5,putc; obuf
- br strout
- 3:
- jsr r5,code
- <\\0\>\n\0>; .even
- rts r5
-
-