void mov_reg32_preg32pimm32(int reg1, int reg2, unsigned int imm32) { put8(0x8B); put8(0x80 | (reg1 << 3) | reg2); put32(imm32); }
void jle_near_rj(unsigned long saut) { put8(0x0F); put8(0x8E); put32(saut); }
void jmp_imm(int saut) { put8(0xE9); put32(saut); }
void add_m32_reg32(unsigned long *m32, int reg32) { put8(0x01); put8((reg32 << 3) | 5); put32((unsigned int)(m32)); }
void sub_reg32_imm32(int reg32, unsigned long imm32) { put8(0x81); put8(0xE8 + reg32); put32(imm32); }
void mov_memoffs8_al(unsigned char *memoffs8) { put8(0xA2); put32((unsigned int)(memoffs8)); }
void cmp_reg32_imm32(int reg32, unsigned long imm32) { put8(0x81); put8(0xF8 + reg32); put32(imm32); }
void and_eax_imm32(unsigned int imm32) { put8(0x25); put32(imm32); }
void or_eax_imm32(unsigned long imm32) { put8(0x0D); put32(imm32); }
void mov_reg32_m32(unsigned int reg32, unsigned int* m32) { put8(0x8B); put8((reg32 << 3) | 5); put32((unsigned int)(m32)); }
void mov_reg8_m8(int reg8, unsigned char *m8) { put8(0x8A); put8((reg8 << 3) | 5); put32((unsigned int)(m8)); }
void add_eax_imm32(unsigned int imm32) { put8(0x05); put32(imm32); }
void mov_preg32pimm32_reg32(int reg1, unsigned int imm32, int reg2) { put8(0x89); put8(0x80 | reg1 | (reg2 << 3)); put32(imm32); }
void mov_preg32pimm32_reg8(int reg32, unsigned int imm32, int reg8) { put8(0x88); put8(0x80 | reg32 | (reg8 << 3)); put32(imm32); }
void mov_memoffs16_ax(unsigned short *memoffs16) { put8(0x66); put8(0xA3); put32((unsigned int)(memoffs16)); }
void xor_reg32_imm32(int reg32, unsigned long imm32) { put8(0x81); put8(0xF0 + reg32); put32(imm32); }
void mov_al_memoffs8(unsigned char *memoffs8) { put8(0xA0); put32((unsigned int)(memoffs8)); }
void fldcw_m16(unsigned short *m16) { put8(0xD9); put8(0x2D); put32((unsigned long)(m16)); }
void mov_m8_reg8(unsigned char *m8, int reg8) { put8(0x88); put8((reg8 << 3) | 5); put32((unsigned long)(m8)); }
void fistp_m32(unsigned long *m32) { put8(0xDB); put8(0x1D); put32((unsigned long)(m32)); }
void test_reg32_imm32(int reg32, unsigned long imm32) { put8(0xF7); put8(0xC0 + reg32); put32(imm32); }
void fistp_m64(unsigned long long int *m64) { put8(0xDF); put8(0x3D); put32((unsigned long)(m64)); }
void sub_reg32_m32(int reg32, unsigned long *m32) { put8(0x2B); put8((reg32 << 3) | 5); put32((unsigned int)(m32)); }
void mov_eax_memoffs32(unsigned long *memoffs32) { put8(0xA1); put32((unsigned int)(memoffs32)); }
void sub_eax_imm32(unsigned long imm32) { put8(0x2D); put32(imm32); }
void mov_memoffs32_eax(unsigned long *memoffs32) { put8(0xA3); put32((unsigned int)(memoffs32)); }
void mov_reg32_imm32(int reg32, unsigned long imm32) { put8(0xB8+reg32); put32(imm32); }
void mov_ax_memoffs16(unsigned short *memoffs16) { put8(0x66); put8(0xA1); put32((unsigned int)(memoffs16)); }
void or_reg32_m32(unsigned long reg32, unsigned long *m32) { put8(0x0B); put8((reg32 << 3) | 5); put32((unsigned long)(m32)); }
void jmp_m32(unsigned int *m32) { put8(0xFF); put8(0x25); put32((unsigned int)(m32)); }