home *** CD-ROM | disk | FTP | other *** search
- /
- /
-
- / catch runtime errors:
- / if (ierror(errno)) goto place
- / on call, returns 0
- / on occurrence of error, returns non-zero
-
- .globl ierror.
- .globl erret
-
- .globl rerr
- .globl retrn
-
- ierror.:zero
- .+2
- mov 2(r3),r0
- mov 2(r0),r1
- mov $errbuf,r0
- 1:
- cmp r0,cerrp
- blo 2f
- cmp cerrp,$eerbuf
- blo 3f
- jsr r5,rerr; 120.
- 3:
- add $8,cerrp
- br 1f
- 2:
- cmp r1,(r0)
- beq 1f
- add $8,r0
- br 1b
- 1:
- mov r1,(r0)+
- mov r3,(r0)+
- mov 2(sp),(r0)+
- mov 4(sp),(r0)+
- jmp retrn
-
- .data
- erret:
- jmp 9f
- .text
- 9:
- mov $errbuf,r0
- cmp (r0),r1
- beq 1f
- add $8,r0
- cmp r0,cerrp
- blo 1b
- rts pc
- 1:
- add $8,r0
- mov -(r0),-(sp)
- mov -(r0),-(sp)
- mov $one,-(sp)
- mov -(r0),r3
- jmp retrn
-
- .data
- one: 77777; 177777
- zero: 0; 0
-
- cerrp: errbuf
-
- .bss
- errbuf: .=.+50
- eerbuf:
-