home *** CD-ROM | disk | FTP | other *** search
/ Amiga Developer CD 2.1 / Amiga Developer CD v2.1.iso / Reference / ROM_Kernel_Manuals / Lib_examples / sample_lvos.asm < prev    next >
Encoding:
Assembly Source File  |  1992-08-20  |  1.4 KB  |  48 lines

  1. ***************************************************************************
  2. * sample_lvos.asm   _LVO definitions
  3. *
  4. *  This is the .fd file for our sample library:
  5. *
  6. * Note - the slash in (D0/D1) means that a stub-maker can use MOVEM.L to
  7. * load these registers from the stack, rather than using a separate MOVE
  8. * instruction for each register. Alternately, something like  (A0,D2) would
  9. * show that a separate MOVE instruction is needed for each load.
  10. *
  11. *       ##base _SampleBase
  12. *       ##bias 30
  13. *       ##public
  14. *       Double(n1)(D0)
  15. *       AddThese(n1,n2)(D0/D1)
  16. *       ##end
  17. *
  18. * After assembling,
  19. *   JOIN sample_stubs.o sample_lvos.o AS sample.lib
  20. *
  21. * Apps LINK with LIBRARY sample.lib when calling sample.library functions
  22. ***************************************************************************
  23.  
  24.    INCLUDE  "exec/types.i"
  25.    INCLUDE  "exec/libraries.i"
  26.  
  27.           SECTION data
  28.  
  29. *----- LIBINIT initializes an LVO value to -30 to skip the first four
  30. *----- 6-byte required library vectors (Open, Expunge, etc)
  31.  
  32.              LIBINIT
  33.  
  34. *----- LIBDEF assigns the current LVO value to a label, and then
  35. *----- bumps the LVO value by -6 in preparation for next LVO label
  36.  
  37. *----- This assigns the value -30 to our first _LVO label
  38.  
  39.              LIBDEF      _LVODouble     ;-30
  40.              XDEF        _LVODouble
  41.  
  42. *----- The value -30-6 is asigned to our second _LVO label
  43.  
  44.              LIBDEF      _LVOAddThese   ;-36
  45.              XDEF        _LVOAddThese
  46.  
  47.              END
  48.