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

| RTEMS 5.4-rc2

Loading...
Searching...
No Matches
Macros | Variables
asm.h File Reference

Address the Problems Caused by Incompatible Flavor of Assemblers and Toolsets. More...

`#include <rtems/score/cpuopts.h>`
`#include <rtems/score/i386.h>`
`#include <rtems/score/percpu.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) CONCAT0 (__USER_LABEL_PREFIX__, x)
#define | REG(x) CONCAT0 (__REGISTER_PREFIX__, x)
#define | eax REG (eax)
#define | ebx REG (ebx)
#define | ecx REG (ecx)
#define | edx REG (edx)
#define | esi REG (esi)
#define | edi REG (edi)
#define | esp REG (esp)
#define | ebp REG (ebp)
#define | cr0 REG (cr0)
#define | cr4 REG (cr4)
#define | ax REG (ax)
#define | bx REG (bx)
#define | cx REG (cx)
#define | dx REG (dx)
#define | si REG (si)
#define | di REG (di)
#define | sp REG (sp)
#define | bp REG (bp)
#define | ah REG (ah)
#define | bh REG (bh)
#define | ch REG (ch)
#define | dh REG (dh)
#define | al REG (al)
#define | bl REG (bl)
#define | cl REG (cl)
#define | dl REG (dl)
#define | cs REG (cs)
#define | ds REG (ds)
#define | es REG (es)
#define | fs REG (fs)
#define | gs REG (gs)
#define | ss REG (ss)
#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 .data
#define | END_DATA
#define | BEGIN_BSS .bss
#define | END_BSS
#define | END
#define | PUBLIC(sym) .globl SYM (sym)
#define | EXTERN(sym) .globl SYM (sym)

## Variables
macro GET_CPU_ID REG movl | $0
macro GET_CPU_ID REG movl REG endm macro GET_SELF_CPU_CONTROL REG leal | _Per_CPU_Information

## Detailed Description

Address the Problems Caused by Incompatible Flavor of Assemblers and Toolsets.

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.