home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 206.lha / RamDev / asmsupp.i < prev    next >
Text File  |  1988-12-28  |  2KB  |  69 lines

  1. *************************************************************************
  2. *
  3. *    Copyright (C) 1985, Commodore Amiga Inc.  All rights reserved.
  4. *    Permission granted for non-commercial use
  5. *
  6. * asmsupp.i -- random low level assembly support routines
  7. *           used by the Commodore sample Library & Device
  8. *
  9. *************************************************************************
  10.  
  11. CLEAR    MACRO        ;quick way to clear a D register on 68000
  12.     MOVEQ    #0,\1
  13.     ENDM
  14.  
  15. ;BHS     MACRO
  16. ;     BCC.\0  \1 ;\0 is the extension used on the macro (such as ".s")
  17. ;     ENDM
  18. ;BLO     MACRO
  19. ;     BCS.\0  \1
  20. ;     ENDM
  21.  
  22. EVEN    MACRO        ; word align code stream
  23.     DS.W    0
  24.     ENDM
  25.  
  26. LINKSYS MACRO        ; link to a library without having to see a _LVO
  27.     MOVE.L    A6,-(SP)
  28.     MOVE.L    \2,A6
  29.     JSR    _LVO\1(A6)
  30.     MOVE.L    (SP)+,A6
  31.     ENDM
  32.  
  33. CALLSYS MACRO        ; call a library via A6 without having to see _LVO
  34.     JSR    _LVO\1(A6)
  35.     ENDM
  36.  
  37. XLIB    MACRO        ; define a library reference without the _LVO
  38.     XREF    _LVO\1
  39.     ENDM
  40. ;
  41. ; Put a message to the serial port at 9600 baud.  Used as so:
  42. ;
  43. ;     PUTMSG   30,<'%s/Init: called'>
  44. ;
  45. ; Parameters can be printed out by pushing them on the stack and
  46. ; adding the appropriate C printf-style % formatting commands.
  47. ;
  48.         XREF    KPutFmt
  49. PUTMSG:     MACRO    * level,msg
  50.  
  51.         IFGE    INFO_LEVEL-\1
  52.  
  53.         PEA    subSysName(PC)
  54.         MOVEM.L A0/A1/D0/D1,-(SP)
  55.         LEA    msg\@(pc),A0    ;Point to static format string
  56.         LEA    4*4(SP),A1      ;Point to args
  57.         JSR    KPutFmt
  58.         MOVEM.L (SP)+,D0/D1/A0/A1
  59.         ADDQ.L    #4,SP
  60.         BRA.S    end\@
  61.  
  62. msg\@        DC.B    \2
  63.         DC.B    10
  64.         DC.B    0
  65.         DS.W    0
  66. end\@
  67.         ENDC
  68.         ENDM
  69.