home *** CD-ROM | disk | FTP | other *** search
- #APP
-
- | 16 bit int rtx re-entrant bindings, when __NO_INLINE__ && __MSHORT__
- | assumption: rtx functions 201,203 do not destroy a2,d2
- | otherwise we are up sh** creek.
- |
- | bammi@dsrgsun.ces.cwru.edu
- |
- .globl _bios
- .text
- .even
- _bios:
- movl a2,sp@- | save a2, d2 (clobbered reggies)
- movw #201,sp@-
- trap #5
- movl d2,sp@-
- movw #201,sp@-
- trap #5
- lea sp@(12),sp
-
- movw #201,sp@- | save return address
- trap #5
- addql #6,sp | pop return off stack
-
- trap #13 | do it
- movl d0,sp@- | save return value on stack
-
- movw #203,sp@- | get saved return address into a0
- trap #5
- movl d0,a0
- movw #203,sp@- | get saved d2
- trap #5
- movl d0,d2
- movw #203,sp@- | get saved a2
- trap #5
- movl d0,a2
- addql #6,sp
-
- movl sp@+,d0 | set up return value
- jmp a0@
-
- .globl _xbios
- .text
- .even
- _xbios:
- movl a2,sp@- | save a2, d2 (clobbered reggies)
- movw #201,sp@-
- trap #5
- movl d2,sp@-
- movw #201,sp@-
- trap #5
- lea sp@(12),sp
-
- movw #201,sp@- | save return address
- trap #5
- addql #6,sp | pop return off stack
-
- trap #14 | do it
- movl d0,sp@- | save return value on stack
-
- movw #203,sp@- | get saved return address into a0
- trap #5
- movl d0,a0
- movw #203,sp@- | get saved d2
- trap #5
- movl d0,d2
- movw #203,sp@- | get saved a2
- trap #5
- movl d0,a2
- addql #6,sp
-
- movl sp@+,d0 | set up return value
- jmp a0@
-
- .globl _gemdos
- .text
- .even
- _gemdos:
- movl a2,sp@- | save a2, d2 (clobbered reggies)
- movw #201,sp@-
- trap #5
- movl d2,sp@-
- movw #201,sp@-
- trap #5
- lea sp@(12),sp
-
- movw #201,sp@- | save return address
- trap #5
- addql #6,sp | pop return off stack
-
- trap #1 | do it
- movl d0,sp@- | save return value on stack
-
- movw #203,sp@- | get saved return address into a0
- trap #5
- movl d0,a0
- movw #203,sp@- | get saved d2
- trap #5
- movl d0,d2
- movw #203,sp@- | get saved a2
- trap #5
- movl d0,a2
- addql #6,sp
-
- movl sp@+,d0 | set up return value
- jmp a0@
-
- .globl _rtxbind
- .text
- .even
- _rtxbind:
- movl a2,sp@- | save a2, d2 (clobbered reggies)
- movw #201,sp@-
- trap #5
- movl d2,sp@-
- movw #201,sp@-
- trap #5
- lea sp@(12),sp
-
- movw #201,sp@- | save return address
- trap #5
- addql #6,sp | pop return off stack
-
- trap #5 | do it
- movl d0,sp@- | save return value on stack
-
- movw #203,sp@- | get saved return address into a0
- trap #5
- movl d0,a0
- movw #203,sp@- | get saved d2
- trap #5
- movl d0,d2
- movw #203,sp@- | get saved a2
- trap #5
- movl d0,a2
- addql #6,sp
-
- movl sp@+,d0 | set up return value
- jmp a0@
-