Numworks Epsilon  1.4.1
Graphing Calculator Operating System
asmx64.h File Reference
#include "py/mpconfig.h"
#include "py/misc.h"
#include "py/asmbase.h"

Go to the source code of this file.

Classes

struct  _asm_x64_t
 

Macros

#define ASM_X64_REG_RAX   (0)
 
#define ASM_X64_REG_RCX   (1)
 
#define ASM_X64_REG_RDX   (2)
 
#define ASM_X64_REG_RBX   (3)
 
#define ASM_X64_REG_RSP   (4)
 
#define ASM_X64_REG_RBP   (5)
 
#define ASM_X64_REG_RSI   (6)
 
#define ASM_X64_REG_RDI   (7)
 
#define ASM_X64_REG_R08   (8)
 
#define ASM_X64_REG_R09   (9)
 
#define ASM_X64_REG_R10   (10)
 
#define ASM_X64_REG_R11   (11)
 
#define ASM_X64_REG_R12   (12)
 
#define ASM_X64_REG_R13   (13)
 
#define ASM_X64_REG_R14   (14)
 
#define ASM_X64_REG_R15   (15)
 
#define ASM_X64_CC_JB   (0x2)
 
#define ASM_X64_CC_JZ   (0x4)
 
#define ASM_X64_CC_JE   (0x4)
 
#define ASM_X64_CC_JNZ   (0x5)
 
#define ASM_X64_CC_JNE   (0x5)
 
#define ASM_X64_CC_JL   (0xc)
 
#define ASM_X64_CC_JGE   (0xd)
 
#define ASM_X64_CC_JLE   (0xe)
 
#define ASM_X64_CC_JG   (0xf)
 

Typedefs

typedef struct _asm_x64_t asm_x64_t
 

Functions

void asm_x64_nop (asm_x64_t *as)
 
void asm_x64_push_r64 (asm_x64_t *as, int src_r64)
 
void asm_x64_pop_r64 (asm_x64_t *as, int dest_r64)
 
void asm_x64_mov_r64_r64 (asm_x64_t *as, int dest_r64, int src_r64)
 
void asm_x64_mov_i64_to_r64 (asm_x64_t *as, int64_t src_i64, int dest_r64)
 
void asm_x64_mov_i64_to_r64_optimised (asm_x64_t *as, int64_t src_i64, int dest_r64)
 
void asm_x64_mov_i64_to_r64_aligned (asm_x64_t *as, int64_t src_i64, int dest_r64)
 
void asm_x64_mov_r8_to_mem8 (asm_x64_t *as, int src_r64, int dest_r64, int dest_disp)
 
void asm_x64_mov_r16_to_mem16 (asm_x64_t *as, int src_r64, int dest_r64, int dest_disp)
 
void asm_x64_mov_r32_to_mem32 (asm_x64_t *as, int src_r64, int dest_r64, int dest_disp)
 
void asm_x64_mov_r64_to_mem64 (asm_x64_t *as, int src_r64, int dest_r64, int dest_disp)
 
void asm_x64_mov_mem8_to_r64zx (asm_x64_t *as, int src_r64, int src_disp, int dest_r64)
 
void asm_x64_mov_mem16_to_r64zx (asm_x64_t *as, int src_r64, int src_disp, int dest_r64)
 
void asm_x64_mov_mem32_to_r64zx (asm_x64_t *as, int src_r64, int src_disp, int dest_r64)
 
void asm_x64_mov_mem64_to_r64 (asm_x64_t *as, int src_r64, int src_disp, int dest_r64)
 
void asm_x64_and_r64_r64 (asm_x64_t *as, int dest_r64, int src_r64)
 
void asm_x64_or_r64_r64 (asm_x64_t *as, int dest_r64, int src_r64)
 
void asm_x64_xor_r64_r64 (asm_x64_t *as, int dest_r64, int src_r64)
 
void asm_x64_shl_r64_cl (asm_x64_t *as, int dest_r64)
 
void asm_x64_sar_r64_cl (asm_x64_t *as, int dest_r64)
 
void asm_x64_add_r64_r64 (asm_x64_t *as, int dest_r64, int src_r64)
 
void asm_x64_sub_r64_r64 (asm_x64_t *as, int dest_r64, int src_r64)
 
void asm_x64_mul_r64_r64 (asm_x64_t *as, int dest_r64, int src_r64)
 
void asm_x64_cmp_r64_with_r64 (asm_x64_t *as, int src_r64_a, int src_r64_b)
 
void asm_x64_test_r8_with_r8 (asm_x64_t *as, int src_r64_a, int src_r64_b)
 
void asm_x64_setcc_r8 (asm_x64_t *as, int jcc_type, int dest_r8)
 
void asm_x64_jmp_label (asm_x64_t *as, mp_uint_t label)
 
void asm_x64_jcc_label (asm_x64_t *as, int jcc_type, mp_uint_t label)
 
void asm_x64_entry (asm_x64_t *as, int num_locals)
 
void asm_x64_exit (asm_x64_t *as)
 
void asm_x64_mov_local_to_r64 (asm_x64_t *as, int src_local_num, int dest_r64)
 
void asm_x64_mov_r64_to_local (asm_x64_t *as, int src_r64, int dest_local_num)
 
void asm_x64_mov_local_addr_to_r64 (asm_x64_t *as, int local_num, int dest_r64)
 
void asm_x64_call_ind (asm_x64_t *as, void *ptr, int temp_r32)
 

Macro Definition Documentation

◆ ASM_X64_CC_JB

#define ASM_X64_CC_JB   (0x2)

Definition at line 63 of file asmx64.h.

◆ ASM_X64_CC_JE

#define ASM_X64_CC_JE   (0x4)

Definition at line 65 of file asmx64.h.

◆ ASM_X64_CC_JG

#define ASM_X64_CC_JG   (0xf)

Definition at line 71 of file asmx64.h.

◆ ASM_X64_CC_JGE

#define ASM_X64_CC_JGE   (0xd)

Definition at line 69 of file asmx64.h.

◆ ASM_X64_CC_JL

#define ASM_X64_CC_JL   (0xc)

Definition at line 68 of file asmx64.h.

◆ ASM_X64_CC_JLE

#define ASM_X64_CC_JLE   (0xe)

Definition at line 70 of file asmx64.h.

◆ ASM_X64_CC_JNE

#define ASM_X64_CC_JNE   (0x5)

Definition at line 67 of file asmx64.h.

◆ ASM_X64_CC_JNZ

#define ASM_X64_CC_JNZ   (0x5)

Definition at line 66 of file asmx64.h.

◆ ASM_X64_CC_JZ

#define ASM_X64_CC_JZ   (0x4)

Definition at line 64 of file asmx64.h.

◆ ASM_X64_REG_R08

#define ASM_X64_REG_R08   (8)

Definition at line 53 of file asmx64.h.

◆ ASM_X64_REG_R09

#define ASM_X64_REG_R09   (9)

Definition at line 54 of file asmx64.h.

◆ ASM_X64_REG_R10

#define ASM_X64_REG_R10   (10)

Definition at line 55 of file asmx64.h.

◆ ASM_X64_REG_R11

#define ASM_X64_REG_R11   (11)

Definition at line 56 of file asmx64.h.

◆ ASM_X64_REG_R12

#define ASM_X64_REG_R12   (12)

Definition at line 57 of file asmx64.h.

◆ ASM_X64_REG_R13

#define ASM_X64_REG_R13   (13)

Definition at line 58 of file asmx64.h.

◆ ASM_X64_REG_R14

#define ASM_X64_REG_R14   (14)

Definition at line 59 of file asmx64.h.

◆ ASM_X64_REG_R15

#define ASM_X64_REG_R15   (15)

Definition at line 60 of file asmx64.h.

◆ ASM_X64_REG_RAX

#define ASM_X64_REG_RAX   (0)

Definition at line 45 of file asmx64.h.

◆ ASM_X64_REG_RBP

#define ASM_X64_REG_RBP   (5)

Definition at line 50 of file asmx64.h.

◆ ASM_X64_REG_RBX

#define ASM_X64_REG_RBX   (3)

Definition at line 48 of file asmx64.h.

◆ ASM_X64_REG_RCX

#define ASM_X64_REG_RCX   (1)

Definition at line 46 of file asmx64.h.

◆ ASM_X64_REG_RDI

#define ASM_X64_REG_RDI   (7)

Definition at line 52 of file asmx64.h.

◆ ASM_X64_REG_RDX

#define ASM_X64_REG_RDX   (2)

Definition at line 47 of file asmx64.h.

◆ ASM_X64_REG_RSI

#define ASM_X64_REG_RSI   (6)

Definition at line 51 of file asmx64.h.

◆ ASM_X64_REG_RSP

#define ASM_X64_REG_RSP   (4)

Definition at line 49 of file asmx64.h.

Typedef Documentation

◆ asm_x64_t

typedef struct _asm_x64_t asm_x64_t

Function Documentation

◆ asm_x64_add_r64_r64()

void asm_x64_add_r64_r64 ( asm_x64_t as,
int  dest_r64,
int  src_r64 
)

◆ asm_x64_and_r64_r64()

void asm_x64_and_r64_r64 ( asm_x64_t as,
int  dest_r64,
int  src_r64 
)

◆ asm_x64_call_ind()

void asm_x64_call_ind ( asm_x64_t as,
void *  ptr,
int  temp_r32 
)

◆ asm_x64_cmp_r64_with_r64()

void asm_x64_cmp_r64_with_r64 ( asm_x64_t as,
int  src_r64_a,
int  src_r64_b 
)

◆ asm_x64_entry()

void asm_x64_entry ( asm_x64_t as,
int  num_locals 
)

◆ asm_x64_exit()

void asm_x64_exit ( asm_x64_t as)

◆ asm_x64_jcc_label()

void asm_x64_jcc_label ( asm_x64_t as,
int  jcc_type,
mp_uint_t  label 
)

◆ asm_x64_jmp_label()

void asm_x64_jmp_label ( asm_x64_t as,
mp_uint_t  label 
)

◆ asm_x64_mov_i64_to_r64()

void asm_x64_mov_i64_to_r64 ( asm_x64_t as,
int64_t  src_i64,
int  dest_r64 
)

◆ asm_x64_mov_i64_to_r64_aligned()

void asm_x64_mov_i64_to_r64_aligned ( asm_x64_t as,
int64_t  src_i64,
int  dest_r64 
)

◆ asm_x64_mov_i64_to_r64_optimised()

void asm_x64_mov_i64_to_r64_optimised ( asm_x64_t as,
int64_t  src_i64,
int  dest_r64 
)

◆ asm_x64_mov_local_addr_to_r64()

void asm_x64_mov_local_addr_to_r64 ( asm_x64_t as,
int  local_num,
int  dest_r64 
)

◆ asm_x64_mov_local_to_r64()

void asm_x64_mov_local_to_r64 ( asm_x64_t as,
int  src_local_num,
int  dest_r64 
)

◆ asm_x64_mov_mem16_to_r64zx()

void asm_x64_mov_mem16_to_r64zx ( asm_x64_t as,
int  src_r64,
int  src_disp,
int  dest_r64 
)

◆ asm_x64_mov_mem32_to_r64zx()

void asm_x64_mov_mem32_to_r64zx ( asm_x64_t as,
int  src_r64,
int  src_disp,
int  dest_r64 
)

◆ asm_x64_mov_mem64_to_r64()

void asm_x64_mov_mem64_to_r64 ( asm_x64_t as,
int  src_r64,
int  src_disp,
int  dest_r64 
)

◆ asm_x64_mov_mem8_to_r64zx()

void asm_x64_mov_mem8_to_r64zx ( asm_x64_t as,
int  src_r64,
int  src_disp,
int  dest_r64 
)

◆ asm_x64_mov_r16_to_mem16()

void asm_x64_mov_r16_to_mem16 ( asm_x64_t as,
int  src_r64,
int  dest_r64,
int  dest_disp 
)

◆ asm_x64_mov_r32_to_mem32()

void asm_x64_mov_r32_to_mem32 ( asm_x64_t as,
int  src_r64,
int  dest_r64,
int  dest_disp 
)

◆ asm_x64_mov_r64_r64()

void asm_x64_mov_r64_r64 ( asm_x64_t as,
int  dest_r64,
int  src_r64 
)

◆ asm_x64_mov_r64_to_local()

void asm_x64_mov_r64_to_local ( asm_x64_t as,
int  src_r64,
int  dest_local_num 
)

◆ asm_x64_mov_r64_to_mem64()

void asm_x64_mov_r64_to_mem64 ( asm_x64_t as,
int  src_r64,
int  dest_r64,
int  dest_disp 
)

◆ asm_x64_mov_r8_to_mem8()

void asm_x64_mov_r8_to_mem8 ( asm_x64_t as,
int  src_r64,
int  dest_r64,
int  dest_disp 
)

◆ asm_x64_mul_r64_r64()

void asm_x64_mul_r64_r64 ( asm_x64_t as,
int  dest_r64,
int  src_r64 
)

◆ asm_x64_nop()

void asm_x64_nop ( asm_x64_t as)

◆ asm_x64_or_r64_r64()

void asm_x64_or_r64_r64 ( asm_x64_t as,
int  dest_r64,
int  src_r64 
)

◆ asm_x64_pop_r64()

void asm_x64_pop_r64 ( asm_x64_t as,
int  dest_r64 
)

◆ asm_x64_push_r64()

void asm_x64_push_r64 ( asm_x64_t as,
int  src_r64 
)

◆ asm_x64_sar_r64_cl()

void asm_x64_sar_r64_cl ( asm_x64_t as,
int  dest_r64 
)

◆ asm_x64_setcc_r8()

void asm_x64_setcc_r8 ( asm_x64_t as,
int  jcc_type,
int  dest_r8 
)

◆ asm_x64_shl_r64_cl()

void asm_x64_shl_r64_cl ( asm_x64_t as,
int  dest_r64 
)

◆ asm_x64_sub_r64_r64()

void asm_x64_sub_r64_r64 ( asm_x64_t as,
int  dest_r64,
int  src_r64 
)

◆ asm_x64_test_r8_with_r8()

void asm_x64_test_r8_with_r8 ( asm_x64_t as,
int  src_r64_a,
int  src_r64_b 
)

◆ asm_x64_xor_r64_r64()

void asm_x64_xor_r64_r64 ( asm_x64_t as,
int  dest_r64,
int  src_r64 
)