RTEMS 5.2
Macros
asm.h File Reference

Addresses Incompatible Flavors Problems. More...

#include <rtems/score/cpuopts.h>
#include <rtems/score/x86_64.h>
#include <rtems/concat.h>

Go to the source code of this file.

Macros

#define ASM
 
#define __USER_LABEL_PREFIX__   _
 
#define __REGISTER_PREFIX__   %
 
#define SYM(x)   CONCAT1 (__USER_LABEL_PREFIX__, x)
 
#define REG(x)   CONCAT1 (__REGISTER_PREFIX__, x)
 
#define rax   REG (rax)
 
#define rbx   REG (rbx)
 
#define rcx   REG (rcx)
 
#define rdx   REG (rdx)
 
#define rdi   REG (rdi)
 
#define rsi   REG (rsi)
 
#define rbp   REG (rbp)
 
#define rsp   REG (rsp)
 
#define r8   REG (r8)
 
#define r9   REG (r9)
 
#define r10   REG (r10)
 
#define r11   REG (r11)
 
#define r12   REG (r12)
 
#define r13   REG (r13)
 
#define r14   REG (r14)
 
#define r15   REG (r15)
 
#define REG_ARG0   rdi
 
#define REG_ARG1   rsi
 
#define REG_ARG2   rdx
 
#define REG_ARG3   rcx
 
#define REG_ARG4   r8
 
#define REG_ARG5   r9
 
#define BEGIN_CODE_DCL   .text
 
#define END_CODE_DCL
 
#define BEGIN_DATA_DCL   .data
 
#define END_DATA_DCL
 
#define BEGIN_CODE   .text
 
#define END_CODE
 
#define BEGIN_DATA
 
#define END_DATA
 
#define BEGIN_BSS
 
#define END_BSS
 
#define END
 
#define PUBLIC(sym)   .globl SYM (sym)
 
#define EXTERN(sym)   .globl SYM (sym)
 

Detailed Description

Addresses Incompatible Flavors Problems.

This include file attempts to address the problems caused by incompatible flavors of assemblers and toolsets. It primarily addresses variations in the use of leading underscores on symbols and the requirement that register names be preceded by a %.

NOTE: The spacing in the use of these macros is critical to them working as advertised.