home *** CD-ROM | disk | FTP | other *** search
- /
- /
-
- / f15 -- subroutine/function
-
- .globl ssubr
- .globl sfunc
- .globl sbloc
- .globl sfunc1
- .globl funok
-
- .globl getsym
- .globl error
-
- ssubr:
- mov $2,progt
- br 1f
-
- sfunc:
- mov $4,progt
- 1:
- clr r0
- br 2f
-
- sfunc1:
- mov $4,progt
- 2:
- tst funok
- beq 1f
- jsr r5,error; 11.
- 1:
- add $10,r0 / class=simple
- mov r0,-(sp)
- jsr r5,getsym
- mov (sp)+,r2
- tst r0
- beq 1f
- 2:
- jsr r5,error; 12.
- rts r5
- 1:
- mov r2,symtab(r3)
- jsr r5,getsym
- cmp r0,$32. / (
- beq 1f
- cmp r0,$40. / eos
- bne 2b
- rts r5
- 1:
- clr -(sp)
- 1:
- add $2,(sp)
- jsr r5,getsym
- tst r0
- beq 3f
- tst (sp)+
- br 2b
- 3:
- bis $200,symtab(r3) / param
- mov (sp),symtab+6(r3) / param number
- jsr r5,getsym
- cmp r0,$36. / ,
- beq 1b
- tst (sp)+
- cmp r0,$34. / )
- bne 2b
- jsr r5,getsym
- cmp r0,$40.
- bne 2b
- rts r5
-
- sbloc:
- mov $6,progt
- jsr r5,getsym
- tst funok
- beq 1f
- jsr r5,error; 11.
- 1:
- cmp r0,$40.
- beq 1f
- jsr r5,error; 13.
- 1:
- rts r5
-
- .data
- funok: 0
-