home *** CD-ROM | disk | FTP | other *** search
/ The Fred Fish Collection 1.5 / ffcollection-1-5-1992-11.iso / ff_disks / 200-299 / ff247.lzh / XprLib / library / libface.asm < prev    next >
Assembly Source File  |  1989-09-15  |  2KB  |  139 lines

  1. ;;; libface.c
  2. ;
  3. ;   DESCRIPTION:
  4. ;   ===========
  5. ;
  6. ;    This is the skeleton for an Amiga Exec library.
  7. ;    This version is written for Aztec C. It is based on the example
  8. ;    library by Jim Mackraz who got some stuff from Neil Katin.
  9. ;    This library implements a protocol transfer library.
  10. ;    All changes and additions by me.
  11. ;
  12. ;   AUTHOR/DATE:  W.G.J. Langeveld, February 1989.
  13. ;   ============
  14. ;
  15. ;;;
  16.  
  17.     include    'exec/types.i'
  18.  
  19. setup    macro
  20.     movem.l    d2/d3/d4-d7/a2-a6,-(sp)
  21.     jsr    _geta4            ;set up a4 for small model
  22.     endm
  23.  
  24. push    macro
  25.     move.l    \1,-(sp)
  26.     endm
  27.  
  28. fix    macro
  29.     ifc    '\1',''
  30.         mexit
  31.     endc
  32.     ifle    \1-8
  33.         addq.l    #\1,sp
  34.     endc
  35.     ifgt    \1-8
  36.         lea    \1(sp),sp
  37.     endc
  38.     endm
  39.  
  40. restore    macro
  41.     fix    \1
  42.     movem.l    (sp)+,d2/d3/d4-d7/a2-a6    
  43.     rts
  44.     endm
  45.  
  46.     dseg
  47.  
  48.     public    _libfunctab
  49. _libfunctab:
  50.     dc.l    XPRopen
  51.     dc.l    XPRclose
  52.     dc.l    XPRexpunge
  53.     dc.l    $0000
  54.         dc.l    XPRXProtocolCleanup
  55.         dc.l    XPRXProtocolSetup
  56.         dc.l    XPRXProtocolSend
  57.         dc.l    XPRXProtocolReceive
  58. ;        dc.l    XPRXProtocolHostMon
  59. ;        dc.l    XPRXProtocolUserMon
  60.     dc.l    $ffffffff
  61.  
  62.     cseg
  63.  
  64.     ;--- library functions
  65.     public    _XPROpen
  66.     public    _XPRClose
  67.     public    _XPRExpunge
  68.         public  _XProtocolCleanup
  69.         public  _XProtocolSetup
  70.         public  _XProtocolSend
  71.         public  _XProtocolReceive
  72. ;        public  _XProtocolHostMon
  73. ;        public  _XProtocolUserMon
  74.  
  75.     public    _geta4
  76.  
  77. XPRopen:
  78.     setup
  79.     push a6
  80.     jsr    _XPROpen
  81.     restore    4
  82.  
  83. XPRclose:
  84.     setup
  85.     push a6
  86.     jsr    _XPRClose
  87.     restore 4
  88.  
  89. XPRexpunge:
  90.     setup
  91.     push a6
  92.     jsr    _XPRExpunge
  93.     restore 4
  94.  
  95. XPRXProtocolCleanup:
  96.     setup
  97.     push a0
  98.     jsr    _XProtocolCleanup
  99.     restore 4
  100.  
  101. XPRXProtocolSetup:
  102.     setup
  103.     push a0
  104.     jsr    _XProtocolSetup
  105.     restore 4
  106.  
  107. XPRXProtocolSend:
  108.     setup
  109.     push a0
  110.     jsr    _XProtocolSend
  111.     restore 4
  112.  
  113. XPRXProtocolReceive:
  114.     setup
  115.     push a0
  116.     jsr    _XProtocolReceive
  117.     restore 4
  118.  
  119. ;XPRXProtocolHostMon:
  120. ;    setup
  121. ;    push d1
  122. ;    push d0
  123. ;    push a1
  124. ;    push a0
  125. ;    jsr    _XProtocolHostMon
  126. ;    restore 16
  127.  
  128. ;XPRXProtocolUserMon:
  129. ;    setup
  130. ;    push d1
  131. ;    push d0
  132. ;    push a1
  133. ;    push a0
  134. ;    jsr    _XProtocolUserMon
  135. ;    restore 16
  136.  
  137.  
  138.     end
  139.