Numworks Epsilon  1.4.1
Graphing Calculator Operating System
asmx86.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_x86_t
 

Macros

#define ASM_X86_REG_EAX   (0)
 
#define ASM_X86_REG_ECX   (1)
 
#define ASM_X86_REG_EDX   (2)
 
#define ASM_X86_REG_EBX   (3)
 
#define ASM_X86_REG_ESP   (4)
 
#define ASM_X86_REG_EBP   (5)
 
#define ASM_X86_REG_ESI   (6)
 
#define ASM_X86_REG_EDI   (7)
 
#define ASM_X86_REG_ARG_1   ASM_X86_REG_EAX
 
#define ASM_X86_REG_ARG_2   ASM_X86_REG_ECX
 
#define ASM_X86_REG_ARG_3   ASM_X86_REG_EDX
 
#define ASM_X86_REG_ARG_4   ASM_X86_REG_EBX
 
#define ASM_X86_REG_ARG_5   ASM_X86_REG_ESI
 
#define ASM_X86_CC_JB   (0x2)
 
#define ASM_X86_CC_JZ   (0x4)
 
#define ASM_X86_CC_JE   (0x4)
 
#define ASM_X86_CC_JNZ   (0x5)
 
#define ASM_X86_CC_JNE   (0x5)
 
#define ASM_X86_CC_JL   (0xc)
 
#define ASM_X86_CC_JGE   (0xd)
 
#define ASM_X86_CC_JLE   (0xe)
 
#define ASM_X86_CC_JG   (0xf)
 

Typedefs

typedef struct _asm_x86_t asm_x86_t
 

Functions

void asm_x86_mov_r32_r32 (asm_x86_t *as, int dest_r32, int src_r32)
 
void asm_x86_mov_i32_to_r32 (asm_x86_t *as, int32_t src_i32, int dest_r32)
 
void asm_x86_mov_i32_to_r32_aligned (asm_x86_t *as, int32_t src_i32, int dest_r32)
 
void asm_x86_mov_r8_to_mem8 (asm_x86_t *as, int src_r32, int dest_r32, int dest_disp)
 
void asm_x86_mov_r16_to_mem16 (asm_x86_t *as, int src_r32, int dest_r32, int dest_disp)
 
void asm_x86_mov_r32_to_mem32 (asm_x86_t *as, int src_r32, int dest_r32, int dest_disp)
 
void asm_x86_mov_mem8_to_r32zx (asm_x86_t *as, int src_r32, int src_disp, int dest_r32)
 
void asm_x86_mov_mem16_to_r32zx (asm_x86_t *as, int src_r32, int src_disp, int dest_r32)
 
void asm_x86_mov_mem32_to_r32 (asm_x86_t *as, int src_r32, int src_disp, int dest_r32)
 
void asm_x86_and_r32_r32 (asm_x86_t *as, int dest_r32, int src_r32)
 
void asm_x86_or_r32_r32 (asm_x86_t *as, int dest_r32, int src_r32)
 
void asm_x86_xor_r32_r32 (asm_x86_t *as, int dest_r32, int src_r32)
 
void asm_x86_shl_r32_cl (asm_x86_t *as, int dest_r32)
 
void asm_x86_sar_r32_cl (asm_x86_t *as, int dest_r32)
 
void asm_x86_add_r32_r32 (asm_x86_t *as, int dest_r32, int src_r32)
 
void asm_x86_sub_r32_r32 (asm_x86_t *as, int dest_r32, int src_r32)
 
void asm_x86_mul_r32_r32 (asm_x86_t *as, int dest_r32, int src_r32)
 
void asm_x86_cmp_r32_with_r32 (asm_x86_t *as, int src_r32_a, int src_r32_b)
 
void asm_x86_test_r8_with_r8 (asm_x86_t *as, int src_r32_a, int src_r32_b)
 
void asm_x86_setcc_r8 (asm_x86_t *as, mp_uint_t jcc_type, int dest_r8)
 
void asm_x86_jmp_label (asm_x86_t *as, mp_uint_t label)
 
void asm_x86_jcc_label (asm_x86_t *as, mp_uint_t jcc_type, mp_uint_t label)
 
void asm_x86_entry (asm_x86_t *as, mp_uint_t num_locals)
 
void asm_x86_exit (asm_x86_t *as)
 
void asm_x86_mov_arg_to_r32 (asm_x86_t *as, int src_arg_num, int dest_r32)
 
void asm_x86_mov_local_to_r32 (asm_x86_t *as, int src_local_num, int dest_r32)
 
void asm_x86_mov_r32_to_local (asm_x86_t *as, int src_r32, int dest_local_num)
 
void asm_x86_mov_local_addr_to_r32 (asm_x86_t *as, int local_num, int dest_r32)
 
void asm_x86_call_ind (asm_x86_t *as, void *ptr, mp_uint_t n_args, int temp_r32)
 

Macro Definition Documentation

◆ ASM_X86_CC_JB

#define ASM_X86_CC_JB   (0x2)

Definition at line 66 of file asmx86.h.

◆ ASM_X86_CC_JE

#define ASM_X86_CC_JE   (0x4)

Definition at line 68 of file asmx86.h.

◆ ASM_X86_CC_JG

#define ASM_X86_CC_JG   (0xf)

Definition at line 74 of file asmx86.h.

◆ ASM_X86_CC_JGE

#define ASM_X86_CC_JGE   (0xd)

Definition at line 72 of file asmx86.h.

◆ ASM_X86_CC_JL

#define ASM_X86_CC_JL   (0xc)

Definition at line 71 of file asmx86.h.

◆ ASM_X86_CC_JLE

#define ASM_X86_CC_JLE   (0xe)

Definition at line 73 of file asmx86.h.

◆ ASM_X86_CC_JNE

#define ASM_X86_CC_JNE   (0x5)

Definition at line 70 of file asmx86.h.

◆ ASM_X86_CC_JNZ

#define ASM_X86_CC_JNZ   (0x5)

Definition at line 69 of file asmx86.h.

◆ ASM_X86_CC_JZ

#define ASM_X86_CC_JZ   (0x4)

Definition at line 67 of file asmx86.h.

◆ ASM_X86_REG_ARG_1

#define ASM_X86_REG_ARG_1   ASM_X86_REG_EAX

Definition at line 59 of file asmx86.h.

◆ ASM_X86_REG_ARG_2

#define ASM_X86_REG_ARG_2   ASM_X86_REG_ECX

Definition at line 60 of file asmx86.h.

◆ ASM_X86_REG_ARG_3

#define ASM_X86_REG_ARG_3   ASM_X86_REG_EDX

Definition at line 61 of file asmx86.h.

◆ ASM_X86_REG_ARG_4

#define ASM_X86_REG_ARG_4   ASM_X86_REG_EBX

Definition at line 62 of file asmx86.h.

◆ ASM_X86_REG_ARG_5

#define ASM_X86_REG_ARG_5   ASM_X86_REG_ESI

Definition at line 63 of file asmx86.h.

◆ ASM_X86_REG_EAX

#define ASM_X86_REG_EAX   (0)

Definition at line 46 of file asmx86.h.

◆ ASM_X86_REG_EBP

#define ASM_X86_REG_EBP   (5)

Definition at line 51 of file asmx86.h.

◆ ASM_X86_REG_EBX

#define ASM_X86_REG_EBX   (3)

Definition at line 49 of file asmx86.h.

◆ ASM_X86_REG_ECX

#define ASM_X86_REG_ECX   (1)

Definition at line 47 of file asmx86.h.

◆ ASM_X86_REG_EDI

#define ASM_X86_REG_EDI   (7)

Definition at line 53 of file asmx86.h.

◆ ASM_X86_REG_EDX

#define ASM_X86_REG_EDX   (2)

Definition at line 48 of file asmx86.h.

◆ ASM_X86_REG_ESI

#define ASM_X86_REG_ESI   (6)

Definition at line 52 of file asmx86.h.

◆ ASM_X86_REG_ESP

#define ASM_X86_REG_ESP   (4)

Definition at line 50 of file asmx86.h.

Typedef Documentation

◆ asm_x86_t

typedef struct _asm_x86_t asm_x86_t

Function Documentation

◆ asm_x86_add_r32_r32()

void asm_x86_add_r32_r32 ( asm_x86_t as,
int  dest_r32,
int  src_r32 
)

◆ asm_x86_and_r32_r32()

void asm_x86_and_r32_r32 ( asm_x86_t as,
int  dest_r32,
int  src_r32 
)

◆ asm_x86_call_ind()

void asm_x86_call_ind ( asm_x86_t as,
void *  ptr,
mp_uint_t  n_args,
int  temp_r32 
)

◆ asm_x86_cmp_r32_with_r32()

void asm_x86_cmp_r32_with_r32 ( asm_x86_t as,
int  src_r32_a,
int  src_r32_b 
)

◆ asm_x86_entry()

void asm_x86_entry ( asm_x86_t as,
mp_uint_t  num_locals 
)

◆ asm_x86_exit()

void asm_x86_exit ( asm_x86_t as)

◆ asm_x86_jcc_label()

void asm_x86_jcc_label ( asm_x86_t as,
mp_uint_t  jcc_type,
mp_uint_t  label 
)

◆ asm_x86_jmp_label()

void asm_x86_jmp_label ( asm_x86_t as,
mp_uint_t  label 
)

◆ asm_x86_mov_arg_to_r32()

void asm_x86_mov_arg_to_r32 ( asm_x86_t as,
int  src_arg_num,
int  dest_r32 
)

◆ asm_x86_mov_i32_to_r32()

void asm_x86_mov_i32_to_r32 ( asm_x86_t as,
int32_t  src_i32,
int  dest_r32 
)

◆ asm_x86_mov_i32_to_r32_aligned()

void asm_x86_mov_i32_to_r32_aligned ( asm_x86_t as,
int32_t  src_i32,
int  dest_r32 
)

◆ asm_x86_mov_local_addr_to_r32()

void asm_x86_mov_local_addr_to_r32 ( asm_x86_t as,
int  local_num,
int  dest_r32 
)

◆ asm_x86_mov_local_to_r32()

void asm_x86_mov_local_to_r32 ( asm_x86_t as,
int  src_local_num,
int  dest_r32 
)

◆ asm_x86_mov_mem16_to_r32zx()

void asm_x86_mov_mem16_to_r32zx ( asm_x86_t as,
int  src_r32,
int  src_disp,
int  dest_r32 
)

◆ asm_x86_mov_mem32_to_r32()

void asm_x86_mov_mem32_to_r32 ( asm_x86_t as,
int  src_r32,
int  src_disp,
int  dest_r32 
)

◆ asm_x86_mov_mem8_to_r32zx()

void asm_x86_mov_mem8_to_r32zx ( asm_x86_t as,
int  src_r32,
int  src_disp,
int  dest_r32 
)

◆ asm_x86_mov_r16_to_mem16()

void asm_x86_mov_r16_to_mem16 ( asm_x86_t as,
int  src_r32,
int  dest_r32,
int  dest_disp 
)

◆ asm_x86_mov_r32_r32()

void asm_x86_mov_r32_r32 ( asm_x86_t as,
int  dest_r32,
int  src_r32 
)

◆ asm_x86_mov_r32_to_local()

void asm_x86_mov_r32_to_local ( asm_x86_t as,
int  src_r32,
int  dest_local_num 
)

◆ asm_x86_mov_r32_to_mem32()

void asm_x86_mov_r32_to_mem32 ( asm_x86_t as,
int  src_r32,
int  dest_r32,
int  dest_disp 
)

◆ asm_x86_mov_r8_to_mem8()

void asm_x86_mov_r8_to_mem8 ( asm_x86_t as,
int  src_r32,
int  dest_r32,
int  dest_disp 
)

◆ asm_x86_mul_r32_r32()

void asm_x86_mul_r32_r32 ( asm_x86_t as,
int  dest_r32,
int  src_r32 
)

◆ asm_x86_or_r32_r32()

void asm_x86_or_r32_r32 ( asm_x86_t as,
int  dest_r32,
int  src_r32 
)

◆ asm_x86_sar_r32_cl()

void asm_x86_sar_r32_cl ( asm_x86_t as,
int  dest_r32 
)

◆ asm_x86_setcc_r8()

void asm_x86_setcc_r8 ( asm_x86_t as,
mp_uint_t  jcc_type,
int  dest_r8 
)

◆ asm_x86_shl_r32_cl()

void asm_x86_shl_r32_cl ( asm_x86_t as,
int  dest_r32 
)

◆ asm_x86_sub_r32_r32()

void asm_x86_sub_r32_r32 ( asm_x86_t as,
int  dest_r32,
int  src_r32 
)

◆ asm_x86_test_r8_with_r8()

void asm_x86_test_r8_with_r8 ( asm_x86_t as,
int  src_r32_a,
int  src_r32_b 
)

◆ asm_x86_xor_r32_r32()

void asm_x86_xor_r32_r32 ( asm_x86_t as,
int  dest_r32,
int  src_r32 
)