Numworks Epsilon
1.4.1
Graphing Calculator Operating System
|
Go to the source code of this file.
Classes | |
struct | _asm_thumb_t |
Macros | |
#define | ASM_THUMB_REG_R0 (0) |
#define | ASM_THUMB_REG_R1 (1) |
#define | ASM_THUMB_REG_R2 (2) |
#define | ASM_THUMB_REG_R3 (3) |
#define | ASM_THUMB_REG_R4 (4) |
#define | ASM_THUMB_REG_R5 (5) |
#define | ASM_THUMB_REG_R6 (6) |
#define | ASM_THUMB_REG_R7 (7) |
#define | ASM_THUMB_REG_R8 (8) |
#define | ASM_THUMB_REG_R9 (9) |
#define | ASM_THUMB_REG_R10 (10) |
#define | ASM_THUMB_REG_R11 (11) |
#define | ASM_THUMB_REG_R12 (12) |
#define | ASM_THUMB_REG_R13 (13) |
#define | ASM_THUMB_REG_R14 (14) |
#define | ASM_THUMB_REG_R15 (15) |
#define | ASM_THUMB_REG_LR (REG_R14) |
#define | ASM_THUMB_CC_EQ (0x0) |
#define | ASM_THUMB_CC_NE (0x1) |
#define | ASM_THUMB_CC_CS (0x2) |
#define | ASM_THUMB_CC_CC (0x3) |
#define | ASM_THUMB_CC_MI (0x4) |
#define | ASM_THUMB_CC_PL (0x5) |
#define | ASM_THUMB_CC_VS (0x6) |
#define | ASM_THUMB_CC_VC (0x7) |
#define | ASM_THUMB_CC_HI (0x8) |
#define | ASM_THUMB_CC_LS (0x9) |
#define | ASM_THUMB_CC_GE (0xa) |
#define | ASM_THUMB_CC_LT (0xb) |
#define | ASM_THUMB_CC_GT (0xc) |
#define | ASM_THUMB_CC_LE (0xd) |
#define | ASM_THUMB_OP_IT (0xbf00) |
#define | ASM_THUMB_OP_ITE_EQ (0xbf0c) |
#define | ASM_THUMB_OP_ITE_CS (0xbf2c) |
#define | ASM_THUMB_OP_ITE_MI (0xbf4c) |
#define | ASM_THUMB_OP_ITE_VS (0xbf6c) |
#define | ASM_THUMB_OP_ITE_HI (0xbf8c) |
#define | ASM_THUMB_OP_ITE_GE (0xbfac) |
#define | ASM_THUMB_OP_ITE_GT (0xbfcc) |
#define | ASM_THUMB_OP_NOP (0xbf00) |
#define | ASM_THUMB_OP_WFI (0xbf30) |
#define | ASM_THUMB_OP_CPSID_I (0xb672) |
#define | ASM_THUMB_OP_CPSIE_I (0xb662) |
#define | ASM_THUMB_FORMAT_1_LSL (0x0000) |
#define | ASM_THUMB_FORMAT_1_LSR (0x0800) |
#define | ASM_THUMB_FORMAT_1_ASR (0x1000) |
#define | ASM_THUMB_FORMAT_1_ENCODE(op, rlo_dest, rlo_src, offset) ((op) | ((offset) << 6) | ((rlo_src) << 3) | (rlo_dest)) |
#define | ASM_THUMB_FORMAT_2_ADD (0x1800) |
#define | ASM_THUMB_FORMAT_2_SUB (0x1a00) |
#define | ASM_THUMB_FORMAT_2_REG_OPERAND (0x0000) |
#define | ASM_THUMB_FORMAT_2_IMM_OPERAND (0x0400) |
#define | ASM_THUMB_FORMAT_2_ENCODE(op, rlo_dest, rlo_src, src_b) ((op) | ((src_b) << 6) | ((rlo_src) << 3) | (rlo_dest)) |
#define | ASM_THUMB_FORMAT_3_MOV (0x2000) |
#define | ASM_THUMB_FORMAT_3_CMP (0x2800) |
#define | ASM_THUMB_FORMAT_3_ADD (0x3000) |
#define | ASM_THUMB_FORMAT_3_SUB (0x3800) |
#define | ASM_THUMB_FORMAT_3_ENCODE(op, rlo, i8) ((op) | ((rlo) << 8) | (i8)) |
#define | ASM_THUMB_FORMAT_4_AND (0x4000) |
#define | ASM_THUMB_FORMAT_4_EOR (0x4040) |
#define | ASM_THUMB_FORMAT_4_LSL (0x4080) |
#define | ASM_THUMB_FORMAT_4_LSR (0x40c0) |
#define | ASM_THUMB_FORMAT_4_ASR (0x4100) |
#define | ASM_THUMB_FORMAT_4_ADC (0x4140) |
#define | ASM_THUMB_FORMAT_4_SBC (0x4180) |
#define | ASM_THUMB_FORMAT_4_ROR (0x41c0) |
#define | ASM_THUMB_FORMAT_4_TST (0x4200) |
#define | ASM_THUMB_FORMAT_4_NEG (0x4240) |
#define | ASM_THUMB_FORMAT_4_CMP (0x4280) |
#define | ASM_THUMB_FORMAT_4_CMN (0x42c0) |
#define | ASM_THUMB_FORMAT_4_ORR (0x4300) |
#define | ASM_THUMB_FORMAT_4_MUL (0x4340) |
#define | ASM_THUMB_FORMAT_4_BIC (0x4380) |
#define | ASM_THUMB_FORMAT_4_MVN (0x43c0) |
#define | ASM_THUMB_FORMAT_9_STR (0x6000) |
#define | ASM_THUMB_FORMAT_9_LDR (0x6800) |
#define | ASM_THUMB_FORMAT_9_WORD_TRANSFER (0x0000) |
#define | ASM_THUMB_FORMAT_9_BYTE_TRANSFER (0x1000) |
#define | ASM_THUMB_FORMAT_10_STRH (0x8000) |
#define | ASM_THUMB_FORMAT_10_LDRH (0x8800) |
#define | ASM_THUMB_FORMAT_9_10_ENCODE(op, rlo_dest, rlo_base, offset) ((op) | (((offset) << 6) & 0x07c0) | ((rlo_base) << 3) | (rlo_dest)) |
#define | ASM_THUMB_OP_MOVW (0xf240) |
#define | ASM_THUMB_OP_MOVT (0xf2c0) |
Typedefs | |
typedef struct _asm_thumb_t | asm_thumb_t |
#define ASM_THUMB_CC_CC (0x3) |
Definition at line 53 of file asmthumb.h.
#define ASM_THUMB_CC_CS (0x2) |
Definition at line 52 of file asmthumb.h.
#define ASM_THUMB_CC_EQ (0x0) |
Definition at line 50 of file asmthumb.h.
#define ASM_THUMB_CC_GE (0xa) |
Definition at line 60 of file asmthumb.h.
#define ASM_THUMB_CC_GT (0xc) |
Definition at line 62 of file asmthumb.h.
#define ASM_THUMB_CC_HI (0x8) |
Definition at line 58 of file asmthumb.h.
#define ASM_THUMB_CC_LE (0xd) |
Definition at line 63 of file asmthumb.h.
#define ASM_THUMB_CC_LS (0x9) |
Definition at line 59 of file asmthumb.h.
#define ASM_THUMB_CC_LT (0xb) |
Definition at line 61 of file asmthumb.h.
#define ASM_THUMB_CC_MI (0x4) |
Definition at line 54 of file asmthumb.h.
#define ASM_THUMB_CC_NE (0x1) |
Definition at line 51 of file asmthumb.h.
#define ASM_THUMB_CC_PL (0x5) |
Definition at line 55 of file asmthumb.h.
#define ASM_THUMB_CC_VC (0x7) |
Definition at line 57 of file asmthumb.h.
#define ASM_THUMB_CC_VS (0x6) |
Definition at line 56 of file asmthumb.h.
#define ASM_THUMB_FORMAT_10_LDRH (0x8800) |
Definition at line 195 of file asmthumb.h.
#define ASM_THUMB_FORMAT_10_STRH (0x8000) |
Definition at line 194 of file asmthumb.h.
#define ASM_THUMB_FORMAT_1_ASR (0x1000) |
Definition at line 103 of file asmthumb.h.
#define ASM_THUMB_FORMAT_1_ENCODE | ( | op, | |
rlo_dest, | |||
rlo_src, | |||
offset | |||
) | ((op) | ((offset) << 6) | ((rlo_src) << 3) | (rlo_dest)) |
Definition at line 105 of file asmthumb.h.
#define ASM_THUMB_FORMAT_1_LSL (0x0000) |
Definition at line 101 of file asmthumb.h.
#define ASM_THUMB_FORMAT_1_LSR (0x0800) |
Definition at line 102 of file asmthumb.h.
#define ASM_THUMB_FORMAT_2_ADD (0x1800) |
Definition at line 116 of file asmthumb.h.
#define ASM_THUMB_FORMAT_2_ENCODE | ( | op, | |
rlo_dest, | |||
rlo_src, | |||
src_b | |||
) | ((op) | ((src_b) << 6) | ((rlo_src) << 3) | (rlo_dest)) |
Definition at line 121 of file asmthumb.h.
#define ASM_THUMB_FORMAT_2_IMM_OPERAND (0x0400) |
Definition at line 119 of file asmthumb.h.
#define ASM_THUMB_FORMAT_2_REG_OPERAND (0x0000) |
Definition at line 118 of file asmthumb.h.
#define ASM_THUMB_FORMAT_2_SUB (0x1a00) |
Definition at line 117 of file asmthumb.h.
#define ASM_THUMB_FORMAT_3_ADD (0x3000) |
Definition at line 144 of file asmthumb.h.
#define ASM_THUMB_FORMAT_3_CMP (0x2800) |
Definition at line 143 of file asmthumb.h.
#define ASM_THUMB_FORMAT_3_ENCODE | ( | op, | |
rlo, | |||
i8 | |||
) | ((op) | ((rlo) << 8) | (i8)) |
Definition at line 147 of file asmthumb.h.
#define ASM_THUMB_FORMAT_3_MOV (0x2000) |
Definition at line 142 of file asmthumb.h.
#define ASM_THUMB_FORMAT_3_SUB (0x3800) |
Definition at line 145 of file asmthumb.h.
#define ASM_THUMB_FORMAT_4_ADC (0x4140) |
Definition at line 166 of file asmthumb.h.
#define ASM_THUMB_FORMAT_4_AND (0x4000) |
Definition at line 161 of file asmthumb.h.
#define ASM_THUMB_FORMAT_4_ASR (0x4100) |
Definition at line 165 of file asmthumb.h.
#define ASM_THUMB_FORMAT_4_BIC (0x4380) |
Definition at line 175 of file asmthumb.h.
#define ASM_THUMB_FORMAT_4_CMN (0x42c0) |
Definition at line 172 of file asmthumb.h.
#define ASM_THUMB_FORMAT_4_CMP (0x4280) |
Definition at line 171 of file asmthumb.h.
#define ASM_THUMB_FORMAT_4_EOR (0x4040) |
Definition at line 162 of file asmthumb.h.
#define ASM_THUMB_FORMAT_4_LSL (0x4080) |
Definition at line 163 of file asmthumb.h.
#define ASM_THUMB_FORMAT_4_LSR (0x40c0) |
Definition at line 164 of file asmthumb.h.
#define ASM_THUMB_FORMAT_4_MUL (0x4340) |
Definition at line 174 of file asmthumb.h.
#define ASM_THUMB_FORMAT_4_MVN (0x43c0) |
Definition at line 176 of file asmthumb.h.
#define ASM_THUMB_FORMAT_4_NEG (0x4240) |
Definition at line 170 of file asmthumb.h.
#define ASM_THUMB_FORMAT_4_ORR (0x4300) |
Definition at line 173 of file asmthumb.h.
#define ASM_THUMB_FORMAT_4_ROR (0x41c0) |
Definition at line 168 of file asmthumb.h.
#define ASM_THUMB_FORMAT_4_SBC (0x4180) |
Definition at line 167 of file asmthumb.h.
#define ASM_THUMB_FORMAT_4_TST (0x4200) |
Definition at line 169 of file asmthumb.h.
#define ASM_THUMB_FORMAT_9_10_ENCODE | ( | op, | |
rlo_dest, | |||
rlo_base, | |||
offset | |||
) | ((op) | (((offset) << 6) & 0x07c0) | ((rlo_base) << 3) | (rlo_dest)) |
Definition at line 197 of file asmthumb.h.
#define ASM_THUMB_FORMAT_9_BYTE_TRANSFER (0x1000) |
Definition at line 192 of file asmthumb.h.
#define ASM_THUMB_FORMAT_9_LDR (0x6800) |
Definition at line 190 of file asmthumb.h.
#define ASM_THUMB_FORMAT_9_STR (0x6000) |
Definition at line 189 of file asmthumb.h.
#define ASM_THUMB_FORMAT_9_WORD_TRANSFER (0x0000) |
Definition at line 191 of file asmthumb.h.
#define ASM_THUMB_OP_CPSID_I (0xb672) |
Definition at line 90 of file asmthumb.h.
#define ASM_THUMB_OP_CPSIE_I (0xb662) |
Definition at line 91 of file asmthumb.h.
#define ASM_THUMB_OP_IT (0xbf00) |
Definition at line 79 of file asmthumb.h.
#define ASM_THUMB_OP_ITE_CS (0xbf2c) |
Definition at line 81 of file asmthumb.h.
#define ASM_THUMB_OP_ITE_EQ (0xbf0c) |
Definition at line 80 of file asmthumb.h.
#define ASM_THUMB_OP_ITE_GE (0xbfac) |
Definition at line 85 of file asmthumb.h.
#define ASM_THUMB_OP_ITE_GT (0xbfcc) |
Definition at line 86 of file asmthumb.h.
#define ASM_THUMB_OP_ITE_HI (0xbf8c) |
Definition at line 84 of file asmthumb.h.
#define ASM_THUMB_OP_ITE_MI (0xbf4c) |
Definition at line 82 of file asmthumb.h.
#define ASM_THUMB_OP_ITE_VS (0xbf6c) |
Definition at line 83 of file asmthumb.h.
#define ASM_THUMB_OP_MOVT (0xf2c0) |
Definition at line 219 of file asmthumb.h.
#define ASM_THUMB_OP_MOVW (0xf240) |
Definition at line 218 of file asmthumb.h.
#define ASM_THUMB_OP_NOP (0xbf00) |
Definition at line 88 of file asmthumb.h.
#define ASM_THUMB_OP_WFI (0xbf30) |
Definition at line 89 of file asmthumb.h.
#define ASM_THUMB_REG_LR (REG_R14) |
Definition at line 48 of file asmthumb.h.
#define ASM_THUMB_REG_R0 (0) |
Definition at line 32 of file asmthumb.h.
#define ASM_THUMB_REG_R1 (1) |
Definition at line 33 of file asmthumb.h.
#define ASM_THUMB_REG_R10 (10) |
Definition at line 42 of file asmthumb.h.
#define ASM_THUMB_REG_R11 (11) |
Definition at line 43 of file asmthumb.h.
#define ASM_THUMB_REG_R12 (12) |
Definition at line 44 of file asmthumb.h.
#define ASM_THUMB_REG_R13 (13) |
Definition at line 45 of file asmthumb.h.
#define ASM_THUMB_REG_R14 (14) |
Definition at line 46 of file asmthumb.h.
#define ASM_THUMB_REG_R15 (15) |
Definition at line 47 of file asmthumb.h.
#define ASM_THUMB_REG_R2 (2) |
Definition at line 34 of file asmthumb.h.
#define ASM_THUMB_REG_R3 (3) |
Definition at line 35 of file asmthumb.h.
#define ASM_THUMB_REG_R4 (4) |
Definition at line 36 of file asmthumb.h.
#define ASM_THUMB_REG_R5 (5) |
Definition at line 37 of file asmthumb.h.
#define ASM_THUMB_REG_R6 (6) |
Definition at line 38 of file asmthumb.h.
#define ASM_THUMB_REG_R7 (7) |
Definition at line 39 of file asmthumb.h.
#define ASM_THUMB_REG_R8 (8) |
Definition at line 40 of file asmthumb.h.
#define ASM_THUMB_REG_R9 (9) |
Definition at line 41 of file asmthumb.h.
typedef struct _asm_thumb_t asm_thumb_t |
void asm_thumb_b_label | ( | asm_thumb_t * | as, |
uint | label | ||
) |
bool asm_thumb_b_n_label | ( | asm_thumb_t * | as, |
uint | label | ||
) |
void asm_thumb_bcc_label | ( | asm_thumb_t * | as, |
int | cc, | ||
uint | label | ||
) |
bool asm_thumb_bcc_nw_label | ( | asm_thumb_t * | as, |
int | cond, | ||
uint | label, | ||
bool | wide | ||
) |
void asm_thumb_bl_ind | ( | asm_thumb_t * | as, |
void * | fun_ptr, | ||
uint | fun_id, | ||
uint | reg_temp | ||
) |
bool asm_thumb_bl_label | ( | asm_thumb_t * | as, |
uint | label | ||
) |
void asm_thumb_end_pass | ( | asm_thumb_t * | as | ) |
void asm_thumb_entry | ( | asm_thumb_t * | as, |
int | num_locals | ||
) |
void asm_thumb_exit | ( | asm_thumb_t * | as | ) |
void asm_thumb_format_4 | ( | asm_thumb_t * | as, |
uint | op, | ||
uint | rlo_dest, | ||
uint | rlo_src | ||
) |
void asm_thumb_mov_local_reg | ( | asm_thumb_t * | as, |
int | local_num_dest, | ||
uint | rlo_src | ||
) |
void asm_thumb_mov_reg_i16 | ( | asm_thumb_t * | as, |
uint | mov_op, | ||
uint | reg_dest, | ||
int | i16_src | ||
) |
void asm_thumb_mov_reg_i32 | ( | asm_thumb_t * | as, |
uint | reg_dest, | ||
mp_uint_t | i32_src | ||
) |
void asm_thumb_mov_reg_i32_aligned | ( | asm_thumb_t * | as, |
uint | reg_dest, | ||
int | i32 | ||
) |
void asm_thumb_mov_reg_i32_optimised | ( | asm_thumb_t * | as, |
uint | reg_dest, | ||
int | i32_src | ||
) |
void asm_thumb_mov_reg_local | ( | asm_thumb_t * | as, |
uint | rlo_dest, | ||
int | local_num | ||
) |
void asm_thumb_mov_reg_local_addr | ( | asm_thumb_t * | as, |
uint | rlo_dest, | ||
int | local_num | ||
) |
void asm_thumb_mov_reg_reg | ( | asm_thumb_t * | as, |
uint | reg_dest, | ||
uint | reg_src | ||
) |
void asm_thumb_op16 | ( | asm_thumb_t * | as, |
uint | op | ||
) |
void asm_thumb_op32 | ( | asm_thumb_t * | as, |
uint | op1, | ||
uint | op2 | ||
) |