home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fish 5
/
FreshFish_July-August1994.bin
/
bbs
/
dev
/
rkrm.lha
/
RKRM
/
SampleLibrary
/
sampleinclude
/
asmsupp.i
next >
Wrap
Text File
|
1992-09-03
|
3KB
|
80 lines
* asmsupp.i
*
********************************************************************************************
*assorted low level assembly support routines used by the Commodore sample Library & Device
*******************************************************************************************
*
*
* Copyright (c) 1992 Commodore-Amiga, Inc.
*
* This example is provided in electronic form by Commodore-Amiga, Inc. for
* use with the "Amiga ROM Kernel Reference Manual: Libraries", 3rd Edition,
* published by Addison-Wesley (ISBN 0-201-56774-1).
*
* The "Amiga ROM Kernel Reference Manual: Libraries" contains additional
* information on the correct usage of the techniques and operating system
* functions presented in these examples. The source and executable code
* of these examples may only be distributed in free electronic form, via
* bulletin board or as part of a fully non-commercial and freely
* redistributable diskette. Both the source and executable code (including
* comments) must be included, without modification, in any copy. This
* example may not be published in printed form or distributed with any
* commercial product. However, the programming techniques and support
* routines set forth in these examples may be used in the development
* of original executable software products for Commodore Amiga computers.
*
* All other rights reserved.
*
* This example is provided "as-is" and is subject to change; no
* warranties are made. All use is at your own risk. No liability or
* responsibility is assumed.
CLEAR MACRO ;quick way to clear a D register on 68000
MOVEQ #0,\1
ENDM
LINKSYS MACRO ; link to a library without having to see a _LVO
MOVE.L A6,-(SP)
MOVE.L \2,A6
JSR _LVO\1(A6)
MOVE.L (SP)+,A6
ENDM
CALLSYS MACRO ; call a library via A6 without having to see _LVO
JSR _LVO\1(A6)
ENDM
XLIB MACRO ; define a library reference without the _LVO
XREF _LVO\1
ENDM
;
; Put a message to the serial port at 9600 baud. Used as so:
;
; PUTMSG 30,<'%s/Init: called'>
;
; Parameters can be printed out by pushing them on the stack and
; adding the appropriate C printf-style % formatting commands.
;
XREF KPutFmt
PUTMSG: MACRO * level,msg
IFGE INFO_LEVEL-\1
PEA subSysName(PC)
MOVEM.L A0/A1/D0/D1,-(SP)
LEA msg\@(pc),A0 ;Point to static format string
LEA 4*4(SP),A1 ;Point to args
JSR KPutFmt
MOVEM.L (SP)+,D0/D1/A0/A1
ADDQ.L #4,SP
BRA.S end\@
msg\@ DC.B \2
DC.B 10
DC.B 0
DS.W 0
end\@
ENDC
ENDM