home *** CD-ROM | disk | FTP | other *** search
/ GEMini Atari / GEMini_Atari_CD-ROM_Walnut_Creek_December_1993.iso / files / gnu / grtxbind / srtxtrap.s < prev   
Encoding:
Text File  |  1990-02-09  |  2.4 KB  |  140 lines

  1. #APP
  2.  
  3. | 16 bit int rtx re-entrant bindings, when __NO_INLINE__ && __MSHORT__
  4. |     assumption: rtx functions 201,203 do not destroy a2,d2
  5. |         otherwise we are up sh** creek.
  6. |
  7. |     bammi@dsrgsun.ces.cwru.edu
  8.     .globl _bios
  9.     .text
  10.     .even
  11. _bios:
  12.     movl a2,sp@-        |  save a2, d2 (clobbered reggies)
  13.     movw #201,sp@-
  14.     trap #5
  15.     movl d2,sp@-
  16.     movw #201,sp@-
  17.     trap #5
  18.     lea  sp@(12),sp
  19.  
  20.     movw #201,sp@-        | save return address
  21.     trap #5
  22.     addql #6,sp        | pop return off stack
  23.  
  24.     trap #13        | do it
  25.     movl d0,sp@-        | save return value on stack
  26.  
  27.     movw #203,sp@-        |  get saved return address into a0
  28.     trap #5
  29.     movl d0,a0
  30.     movw #203,sp@-        | get saved d2
  31.     trap #5
  32.     movl d0,d2
  33.     movw #203,sp@-        | get saved a2
  34.     trap #5
  35.     movl d0,a2
  36.     addql #6,sp
  37.     
  38.     movl sp@+,d0        | set up return value
  39.     jmp a0@
  40.  
  41.     .globl _xbios
  42.     .text
  43.     .even
  44. _xbios:
  45.     movl a2,sp@-        |  save a2, d2 (clobbered reggies)
  46.     movw #201,sp@-
  47.     trap #5
  48.     movl d2,sp@-
  49.     movw #201,sp@-
  50.     trap #5
  51.     lea  sp@(12),sp
  52.  
  53.     movw #201,sp@-        | save return address
  54.     trap #5
  55.     addql #6,sp        | pop return off stack
  56.  
  57.     trap #14        | do it
  58.     movl d0,sp@-        | save return value on stack
  59.  
  60.     movw #203,sp@-        |  get saved return address into a0
  61.     trap #5
  62.     movl d0,a0
  63.     movw #203,sp@-        | get saved d2
  64.     trap #5
  65.     movl d0,d2
  66.     movw #203,sp@-        | get saved a2
  67.     trap #5
  68.     movl d0,a2
  69.     addql #6,sp
  70.     
  71.     movl sp@+,d0        | set up return value
  72.     jmp a0@
  73.  
  74.     .globl _gemdos
  75.     .text
  76.     .even
  77. _gemdos:
  78.     movl a2,sp@-        |  save a2, d2 (clobbered reggies)
  79.     movw #201,sp@-
  80.     trap #5
  81.     movl d2,sp@-
  82.     movw #201,sp@-
  83.     trap #5
  84.     lea  sp@(12),sp
  85.  
  86.     movw #201,sp@-        | save return address
  87.     trap #5
  88.     addql #6,sp        | pop return off stack
  89.  
  90.     trap #1            | do it
  91.     movl d0,sp@-        | save return value on stack
  92.  
  93.     movw #203,sp@-        |  get saved return address into a0
  94.     trap #5
  95.     movl d0,a0
  96.     movw #203,sp@-        | get saved d2
  97.     trap #5
  98.     movl d0,d2
  99.     movw #203,sp@-        | get saved a2
  100.     trap #5
  101.     movl d0,a2
  102.     addql #6,sp
  103.     
  104.     movl sp@+,d0        | set up return value
  105.     jmp a0@
  106.  
  107.     .globl _rtxbind
  108.     .text
  109.     .even
  110. _rtxbind:
  111.     movl a2,sp@-        |  save a2, d2 (clobbered reggies)
  112.     movw #201,sp@-
  113.     trap #5
  114.     movl d2,sp@-
  115.     movw #201,sp@-
  116.     trap #5
  117.     lea  sp@(12),sp
  118.  
  119.     movw #201,sp@-        | save return address
  120.     trap #5
  121.     addql #6,sp        | pop return off stack
  122.  
  123.     trap #5            | do it
  124.     movl d0,sp@-        | save return value on stack
  125.  
  126.     movw #203,sp@-        |  get saved return address into a0
  127.     trap #5
  128.     movl d0,a0
  129.     movw #203,sp@-        | get saved d2
  130.     trap #5
  131.     movl d0,d2
  132.     movw #203,sp@-        | get saved a2
  133.     trap #5
  134.     movl d0,a2
  135.     addql #6,sp
  136.     
  137.     movl sp@+,d0        | set up return value
  138.     jmp a0@
  139.