home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Club Amiga de Montreal - CAM
/
CAM_CD_1.iso
/
files
/
568a.lha
/
MemMan
/
Macros.i
next >
Wrap
Text File
|
1991-10-18
|
1KB
|
76 lines
*********************************************************************
*
* Macros.i
* General-purpose macros for A68k assembler
*
* Copyright (C) 1990 Bryan Ford
* All Rights Reserved
*
*********************************************************************
ifnd BRY_MACROS_I
BRY_MACROS_I set 1
bhs macro ; <label> ; Branch if higher or same (unsigned)
bcc.\0 \1
endm
blo macro ; <label> ; Branch if lower (unsigned)
bcs.\0 \1
endm
bz macro ; <label> ; Branch if zero
beq.\0 \1
endm
bnz macro ; <label> ; Branch if zero
bne.\0 \1
endm
push macro ; <registers> ; Push registers on stack
movem.\0 \1,-(sp)
endm
pop macro ; <registers> ; Pop registers off of stack
movem.\0 (sp)+,\1
endm
dcb macro ; <count> ; Alternative to ds
ds.\0 \1
endm
casl macro ; bits,Dn ; Shift Dn left by constant number of bits
ifgt \1-8
asl.\0 #8,\2
casl.\0 \1-8,\2
endc
ifle \1-8
asl.\0 #\1,\2
endc
endm
clsl macro ; bits,Dn ; Shift Dn left by constant number of bits
casl.\0 \1,\2
endm
casr macro ; bits,Dn ; Arithmetic shift Dn right by constant
ifgt \1-8
asr.\0 #8,\2
casr.\0 \1-8,\2
endc
ifle \1-8
asr.\0 #\1,\2
endc
endm
clsr macro ; bits,Dn ; Logical shift Dn right by constant
ifgt \1-8
lsr.\0 #8,\2
clsr.\0 \1-8,\2
endc
ifle \1-8
lsr.\0 #\1,\2
endc
endm
endc