ARM Assembler Support.  
More...
 | 
| 
#define  | __USER_LABEL_PREFIX__   _ | 
|   | 
| 
#define  | __REGISTER_PREFIX__ | 
|   | 
| 
#define  | SYM(x)   CONCAT1 (__USER_LABEL_PREFIX__, x) | 
|   | 
| 
#define  | REG(x)   CONCAT1 (__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: | 
|   | 
 | 
| 
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 | 
|   | 
ARM Assembler Support. 
◆ 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: