home *** CD-ROM | disk | FTP | other *** search
/ Atari FTP / ATARI_FTP_0693.zip / ATARI_FTP_0693 / Mint / mntlib25.zoo / purec / osbind.s < prev    next >
Text File  |  1992-06-28  |  1KB  |  55 lines

  1. ; Lovingly swiped from Eric Smith's mntlib.
  2. ; Pure C version 13-6-92 um
  3.  
  4.     .globl    gemdos
  5.     .globl    xbios
  6.     .globl    bios
  7.  
  8.     .text
  9.     .even
  10.  
  11. gemdos:
  12.     lea    20(sp),a0        ; 4 bytes for ret addr + 16 for parameters
  13.     movem.l    a2,-(sp)    ; save reggie that TOS clobbers but that
  14.                         ; PureC thinks functions should preserve
  15.     move.l    -(a0),-(sp)    ; max. of 16 bytes parameters to trap #1
  16.     move.l    -(a0),-(sp)
  17.     move.l    -(a0),-(sp)
  18.     move.l    -(a0),-(sp)
  19.     move.w d0, -(sp)    ; function number passed in d0
  20.     trap    #1            ; go do the trap
  21.     lea    16+2(sp),sp        ; pop parameters
  22.     movem.l    (sp)+,a2    ; restore reggie
  23.     rts                    ; return
  24.  
  25. bios:
  26.     lea    24(sp),a0
  27.     movem.l    a2,-(sp)
  28.     move.l    -(a0),-(sp)
  29.     move.l    -(a0),-(sp)
  30.     move.l    -(a0),-(sp)
  31.     move.l    -(a0),-(sp)
  32.     move.l    -(a0),-(sp)
  33.     move.w d0, -(sp)
  34.     trap    #13
  35.     lea    20+2(sp),sp
  36.     movem.l    (sp)+,a2
  37.     rts
  38.  
  39. xbios:
  40.     lea    32(sp),a0
  41.     movem.l    a2,-(sp)
  42.     move.l    -(a0),-(sp)
  43.     move.l    -(a0),-(sp)
  44.     move.l    -(a0),-(sp)
  45.     move.l    -(a0),-(sp)
  46.     move.l    -(a0),-(sp)
  47.     move.l    -(a0),-(sp)
  48.     move.l    -(a0),-(sp)
  49.     move.w d0, -(sp)
  50.     trap    #14
  51.     lea    28+2(sp),sp
  52.     movem.l    (sp)+,a2
  53.     rts
  54.  
  55. .end