Assembler Support
[Utility Library]

Collaboration diagram for Assembler Support:

Control Statements



#define REPEAT(count)   REPT count
 Repeat the following statements count times.
#define END_REPEAT()   ENDR
 Mark the end of the statements to be repeated.
#define SET_LOC(offset)   ORG offset
 Set the location counter to offset.
#define END_FILE()   END
 Mark the end of the file.

Data Objects



#define FILL_BYTES(count)   DS8 count
 Allocate space for count bytes.

Symbol Definition



#define L(name)   name
 Turn name into a local symbol, if possible.
#define EXTERN_SYMBOL(name)   EXTERN name
 Declare name as an external symbol referenced by this file.
#define FUNCTION(name)   iar_begin_func name, text_##name, 0, 0
 Define a file-local function called name.
#define PUBLIC_FUNCTION(name)   iar_begin_func name, text_##name, 1, 0
 Define a globally visible function called name.
#define WEAK_FUNCTION(name)   iar_begin_func name, text_##name, 1, 1
 Define a weak function called name.
#define WEAK_FUNCTION_ALIAS(name, strong_name)   iar_weak_alias name, strong_name
 Define name as a weak alias for the function strong_name.
#define END_FUNC(name)   ENDMOD
 Mark the end of the function called name.

Section Definition



#define TEXT_SECTION(name)   RSEG name:CODE:NOROOT
 Start a new section containing executable code.
#define RODATA_SECTION(name)   RSEG name:CONST:NOROOT
 Start a new section containing read-only data.
#define DATA_SECTION(name)   RSEG name:DATA:NOROOT
 Start a new section containing writeable initialized data.
#define BSS_SECTION(name)   RSEG name:DATA:NOROOT
 Start a new section containing writeable zero-initialized data.

Detailed Description

This group provides a good handful of macros intended to smooth out the differences between various assemblers, similar to what the Compiler Support module does for compilers, except that assemblers tend to be much less standardized than compilers.


Define Documentation

#define BSS_SECTION ( name   )     RSEG name:DATA:NOROOT

Start a new section containing writeable zero-initialized data.

Definition at line 90 of file iar.h.

#define DATA_SECTION ( name   )     RSEG name:DATA:NOROOT

Start a new section containing writeable initialized data.

Definition at line 89 of file iar.h.

 
#define END_FILE (  )     END

Mark the end of the file.

#define END_FUNC ( name   )     ENDMOD

Mark the end of the function called name.

Definition at line 85 of file iar.h.

 
#define END_REPEAT (  )     ENDR

Mark the end of the statements to be repeated.

#define EXTERN_SYMBOL ( name   )     EXTERN name

Declare name as an external symbol referenced by this file.

#define FILL_BYTES ( count   )     DS8 count

Allocate space for count bytes.

#define FUNCTION ( name   )     iar_begin_func name, text_##name, 0, 0

Define a file-local function called name.

#define L ( name   )     name

Turn name into a local symbol, if possible.

Referenced by wtk_radio_button_create().

#define PUBLIC_FUNCTION ( name   )     iar_begin_func name, text_##name, 1, 0

Define a globally visible function called name.

#define REPEAT ( count   )     REPT count

Repeat the following statements count times.

#define RODATA_SECTION ( name   )     RSEG name:CONST:NOROOT

Start a new section containing read-only data.

Definition at line 88 of file iar.h.

#define SET_LOC ( offset   )     ORG offset

Set the location counter to offset.

#define TEXT_SECTION ( name   )     RSEG name:CODE:NOROOT

Start a new section containing executable code.

Definition at line 87 of file iar.h.

#define WEAK_FUNCTION ( name   )     iar_begin_func name, text_##name, 1, 1

Define a weak function called name.

Weak functions are only referenced if no strong definitions are found

#define WEAK_FUNCTION_ALIAS ( name,
strong_name   )     iar_weak_alias name, strong_name

Define name as a weak alias for the function strong_name.

See also:
WEAK_FUNCTION
Generated on Thu Apr 29 14:10:00 2010 for display-demo by  doxygen 1.6.3