home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 377b.lha / libraries / samplelibrary / lib / samplelib_lvos.asm < prev    next >
Encoding:
Assembly Source File  |  1980-02-03  |  2.6 KB  |  70 lines

  1. *************************************************************************
  2. * samplelib_stubs.asm   _LVO definitions
  3. *         
  4. * Copyright (c) 1990 Commodore-Amiga, Inc.
  5. *
  6. * This example is provided in electronic form by Commodore-Amiga, Inc. for
  7. * use with the 1.3 revisions of the Addison-Wesley Amiga reference manuals. 
  8. * The 1.3 Addison-Wesley Amiga Reference Manual series contains additional
  9. * information on the correct usage of the techniques and operating system
  10. * functions presented in this example.  The source and executable code of
  11. * this example may only be distributed in free electronic form, via bulletin
  12. * board or as part of a fully non-commercial and freely redistributable
  13. * diskette.  Both the source and executable code (including comments) must
  14. * be included, without modification, in any copy.  This example may not be
  15. * published in printed form or distributed with any commercial product.
  16. * However, the programming techniques and support routines set forth in
  17. * this example may be used in the development of original executable
  18. * software products for Commodore Amiga computers.
  19. * All other rights reserved.
  20. * This example is provided "as-is" and is subject to change; no warranties
  21. * are made.  All use is at your own risk.  No liability or responsibility
  22. * is assumed.
  23. *
  24. *
  25. *  This is the .fd file for our sample library:
  26. *
  27. *  Note - the slash in (D0/D1) means that a stub-maker can use MOVEM.L to
  28. *  load these registers from the stack, rather than using a separate MOVE
  29. *  instruction for each register.  Alternately, something like  (A0,D2)
  30. *  would show that a separate MOVE instruction is needed for each load.
  31. *
  32. *    ##base _SampleBase
  33. *    ##bias 30
  34. *    ##public
  35. *    Double(n1)(D0)
  36. *    AddThese(n1,n2)(D0/D1)
  37. *    ##end
  38. *
  39. * After assembling,
  40. *   JOIN samplelib_stubs.o samplelib_lvos.o AS sample.lib
  41. *
  42. * LINK with LIBRARY sample.lib when calling sample.library functions
  43. *
  44. *************************************************************************
  45.  
  46.    INCLUDE  "exec/types.i"
  47.    INCLUDE  "exec/libraries.i"
  48.  
  49.           SECTION data
  50.  
  51. *----- LIBINIT initializes an LVO value to -30 to skip the first four
  52. *----- 6-byte required library vectors (Open, Expunge, etc)
  53.  
  54.              LIBINIT
  55.  
  56. *----- LIBDEF assigns the current LVO value to a label, and then
  57. *----- bumps the LVO value by -6 in preparation for next LVO label
  58.  
  59. *----- This assigns the value -30 to our first _LVO label
  60.  
  61.              LIBDEF      _LVODouble    ;-30
  62.              XDEF        _LVODouble
  63.  
  64. *----- The value -30-6 is asigned to our second _LVO label
  65.  
  66.              LIBDEF      _LVOAddThese    ;-36
  67.              XDEF        _LVOAddThese
  68.  
  69.              END
  70.