RTEMS: cpukit/score/cpu/x86_64/include/rtems/asm.h File Reference

| RTEMS 5.4-rc2

Loading...
Searching...
No Matches
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.