RTEMS 6.3
Loading...
Searching...
No Matches
ARM Assembler Support

ARM Assembler Support. More...

Files

file  cpukit/score/cpu/arm/include/rtems/asm.h
 This header file provides interfaces to address problems caused by incompatible flavor of assemblers and toolsets.

Macros

#define __USER_LABEL_PREFIX__   _
#define __REGISTER_PREFIX__
#define SYM(x)
#define REG(x)
#define r0   REG(r0)
#define r1   REG(r1)
#define r2   REG(r2)
#define r3   REG(r3)
#define r4   REG(r4)
#define r5   REG(r5)
#define r6   REG(r6)
#define r7   REG(r7)
#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 CPSR   REG(CPSR)
#define SPSR   REG(SPSR)
#define NUM_IRQ_VECTOR   6
#define NUM_FIQ_VECTOR   7
#define CPSR_IRQ_DISABLE   0x80
#define CPSR_FIQ_DISABLE   0x40
#define CPSR_THUMB_ENABLE   0x20
#define CPSR_FIQ_MODE   0x11
#define CPSR_IRQ_MODE   0x12
#define CPSR_SUPERVISOR_MODE   0x13
#define CPSR_UNDEF_MODE   0x1B
#define CPSR_MODE_BITS   0x1F
#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)
#define EXTERN(sym)
#define FUNCTION_THUMB_ENTRY(name)
#define FUNCTION_ENTRY(name)
#define FUNCTION_END(name)
#define DEFINE_FUNCTION_ARM(name)

Variables

macro SWITCH_FROM_THUMB_TO_ARM endm macro SWITCH_FROM_ARM_TO_THUMB REG endm macro SWITCH_FROM_THUMB_2_TO_ARM endm macro SWITCH_FROM_ARM_TO_THUMB_2 REG endm macro BLX_TO_THUMB_1 TARGET bl TARGET endm macro GET_SELF_CPU_CONTROL REG ldr REG

Detailed Description

ARM Assembler Support.

Macro Definition Documentation

◆ DEFINE_FUNCTION_ARM

#define DEFINE_FUNCTION_ARM ( name)
Value:
.globl name ; name: ; .globl name ## _arm ; name ## _arm:

◆ EXTERN

#define EXTERN ( sym)
Value:
.globl SYM (sym)

◆ FUNCTION_END

#define FUNCTION_END ( name)
Value:
.size name, . - name

◆ FUNCTION_ENTRY

#define FUNCTION_ENTRY ( name)
Value:
.align 2; \
.globl name; \
.type name, %function; \
name:

◆ FUNCTION_THUMB_ENTRY

#define FUNCTION_THUMB_ENTRY ( name)
Value:
.thumb; \
.thumb_func; \
.align 2; \
.globl name; \
.type name, %function; \
name:

◆ PUBLIC

#define PUBLIC ( sym)
Value:
.globl SYM (sym)

◆ REG

#define REG ( x)
Value:
RTEMS_XCONCAT(__REGISTER_PREFIX__, x)
#define RTEMS_XCONCAT(_x, _y)
Concatenates expansion of _x and expansion of _y.
Definition basedefs.h:466

◆ SYM

#define SYM ( x)
Value:
RTEMS_XCONCAT(__USER_LABEL_PREFIX__, x)