RTEMS 6.1-rc6
Loading...
Searching...
No Matches
Files | Macros | Variables

ARM Assembler Support. More...

Files

file  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)   RTEMS_XCONCAT(__USER_LABEL_PREFIX__, x)
 
#define REG(x)   RTEMS_XCONCAT(__REGISTER_PREFIX__, 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)   .globl SYM (sym)
 
#define EXTERN(sym)   .globl SYM (sym)
 
#define FUNCTION_THUMB_ENTRY(name)
 
#define FUNCTION_ENTRY(name)
 
#define FUNCTION_END(name)    .size name, . - name
 
#define DEFINE_FUNCTION_ARM(name)    .globl name ; name: ; .globl name ## _arm ; name ## _arm:
 

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

◆ 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: