예제 #1
0
void mov_reg32_preg32pimm32(int reg1, int reg2, unsigned int imm32)
{
   put8(0x8B);
   put8(0x80 | (reg1 << 3) | reg2);
   put32(imm32);
}
예제 #2
0
파일: assemble.c 프로젝트: GPDP2/mupen64
void jle_near_rj(unsigned long saut)
{
   put8(0x0F);
   put8(0x8E);
   put32(saut);
}
예제 #3
0
파일: assemble.c 프로젝트: GPDP2/mupen64
void jmp_imm(int saut)
{
   put8(0xE9);
   put32(saut);
}
예제 #4
0
파일: assemble.c 프로젝트: GPDP2/mupen64
void add_m32_reg32(unsigned long *m32, int reg32)
{
   put8(0x01);
   put8((reg32 << 3) | 5);
   put32((unsigned int)(m32));
}
예제 #5
0
파일: assemble.c 프로젝트: GPDP2/mupen64
void sub_reg32_imm32(int reg32, unsigned long imm32)
{
   put8(0x81);
   put8(0xE8 + reg32);
   put32(imm32);
}
예제 #6
0
파일: assemble.c 프로젝트: GPDP2/mupen64
void mov_memoffs8_al(unsigned char *memoffs8)
{
   put8(0xA2);
   put32((unsigned int)(memoffs8));
}
예제 #7
0
파일: assemble.c 프로젝트: GPDP2/mupen64
void cmp_reg32_imm32(int reg32, unsigned long imm32)
{
   put8(0x81);
   put8(0xF8 + reg32);
   put32(imm32);
}
예제 #8
0
void and_eax_imm32(unsigned int imm32)
{
   put8(0x25);
   put32(imm32);
}
예제 #9
0
파일: assemble.c 프로젝트: GPDP2/mupen64
void or_eax_imm32(unsigned long imm32)
{
   put8(0x0D);
   put32(imm32);
}
예제 #10
0
void mov_reg32_m32(unsigned int reg32, unsigned int* m32)
{
   put8(0x8B);
   put8((reg32 << 3) | 5);
   put32((unsigned int)(m32));
}
예제 #11
0
void mov_reg8_m8(int reg8, unsigned char *m8)
{
   put8(0x8A);
   put8((reg8 << 3) | 5);
   put32((unsigned int)(m8));
}
예제 #12
0
void add_eax_imm32(unsigned int imm32)
{
   put8(0x05);
   put32(imm32);
}
예제 #13
0
void mov_preg32pimm32_reg32(int reg1, unsigned int imm32, int reg2)
{
   put8(0x89);
   put8(0x80 | reg1 | (reg2 << 3));
   put32(imm32);
}
예제 #14
0
void mov_preg32pimm32_reg8(int reg32, unsigned int imm32, int reg8)
{
   put8(0x88);
   put8(0x80 | reg32 | (reg8 << 3));
   put32(imm32);
}
예제 #15
0
파일: assemble.c 프로젝트: GPDP2/mupen64
void mov_memoffs16_ax(unsigned short *memoffs16)
{
   put8(0x66);
   put8(0xA3);
   put32((unsigned int)(memoffs16));
}
예제 #16
0
파일: assemble.c 프로젝트: GPDP2/mupen64
void xor_reg32_imm32(int reg32, unsigned long imm32)
{
   put8(0x81);
   put8(0xF0 + reg32);
   put32(imm32);
}
예제 #17
0
파일: assemble.c 프로젝트: GPDP2/mupen64
void mov_al_memoffs8(unsigned char *memoffs8)
{
   put8(0xA0);
   put32((unsigned int)(memoffs8));
}
예제 #18
0
파일: assemble.c 프로젝트: GPDP2/mupen64
void fldcw_m16(unsigned short *m16)
{
   put8(0xD9);
   put8(0x2D);
   put32((unsigned long)(m16));
}
예제 #19
0
파일: assemble.c 프로젝트: GPDP2/mupen64
void mov_m8_reg8(unsigned char *m8, int reg8)
{
   put8(0x88);
   put8((reg8 << 3) | 5);
   put32((unsigned long)(m8));
}
예제 #20
0
파일: assemble.c 프로젝트: GPDP2/mupen64
void fistp_m32(unsigned long *m32)
{
   put8(0xDB);
   put8(0x1D);
   put32((unsigned long)(m32));
}
예제 #21
0
파일: assemble.c 프로젝트: GPDP2/mupen64
void test_reg32_imm32(int reg32, unsigned long imm32)
{
   put8(0xF7);
   put8(0xC0 + reg32);
   put32(imm32);
}
예제 #22
0
파일: assemble.c 프로젝트: GPDP2/mupen64
void fistp_m64(unsigned long long int *m64)
{
   put8(0xDF);
   put8(0x3D);
   put32((unsigned long)(m64));
}
예제 #23
0
파일: assemble.c 프로젝트: GPDP2/mupen64
void sub_reg32_m32(int reg32, unsigned long *m32)
{
   put8(0x2B);
   put8((reg32 << 3) | 5);
   put32((unsigned int)(m32));
}
예제 #24
0
파일: assemble.c 프로젝트: GPDP2/mupen64
void mov_eax_memoffs32(unsigned long *memoffs32)
{
   put8(0xA1);
   put32((unsigned int)(memoffs32));
}
예제 #25
0
파일: assemble.c 프로젝트: GPDP2/mupen64
void sub_eax_imm32(unsigned long imm32)
{
   put8(0x2D);
   put32(imm32);
}
예제 #26
0
파일: assemble.c 프로젝트: GPDP2/mupen64
void mov_memoffs32_eax(unsigned long *memoffs32)
{
   put8(0xA3);
   put32((unsigned int)(memoffs32));
}
예제 #27
0
파일: assemble.c 프로젝트: GPDP2/mupen64
void mov_reg32_imm32(int reg32, unsigned long imm32)
{
   put8(0xB8+reg32);
   put32(imm32);
}
예제 #28
0
파일: assemble.c 프로젝트: GPDP2/mupen64
void mov_ax_memoffs16(unsigned short *memoffs16)
{
   put8(0x66);
   put8(0xA1);
   put32((unsigned int)(memoffs16));
}
예제 #29
0
파일: assemble.c 프로젝트: GPDP2/mupen64
void or_reg32_m32(unsigned long reg32, unsigned long *m32)
{
   put8(0x0B);
   put8((reg32 << 3) | 5);
   put32((unsigned long)(m32));
}
예제 #30
0
void jmp_m32(unsigned int *m32)
{
   put8(0xFF);
   put8(0x25);
   put32((unsigned int)(m32));
}