/**************************************************************************** * * * NDSAUDIO * * * * Copyright (c) 2009, Mukunda Johnson (mukunda@mukunda.com) * * * * Permission to use, copy, modify, and/or distribute this software for any * * purpose with or without fee is hereby granted, provided that the above * * copyright notice and this permission notice appear in all copies. * * * * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES * * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF * * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR * * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES * * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN * * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * *--------------------------------------------------------------------------* ****************************************************************************/ #ifndef __NAMACRO_H__ #define __NAMACRO_H__ .equ function, 0 .equ data, 1 .macro public typ name .global \name .if THUMB_SOURCE == 1 .if \typ == function .thumb_func .endif .endif \name: .endm .macro private typ name .if THUMB_SOURCE == 1 .if \typ == function .thumb_func .endif .endif \name: .endm .macro ARM_CODE .equ THUMB_SOURCE, 0 .arm .align .endm .macro THUMB_CODE .equ THUMB_SOURCE, 1 .thumb .align 2 .endm .macro STRUCT .struct 0 .endm .macro ENDSTRUCT lab \lab: .endm .macro V8 lab \lab: .space 1 .endm .macro VARR lab, size \lab: .space \size .endm .macro V16 lab \lab: .space 2 .endm .macro V24 lab \lab: .space 3 .endm .macro V32 lab \lab: .space 4 .endm .macro SWI_DIVIDE .if THUMB_SOURCE == 1 SWI 0x06 .else SWI 0x06<<16 .endif .endm .macro ret bx lr .endm .macro breakp mov r11,r11 .endm #endif