#ifndef X86_H #define X86_H #include #define RAX 0 #define RCX 1 #define RDX 2 #define RBX 3 #define RSP 4 #define RBP 5 #define RSI 6 #define RDI 7 #define R8 8 #define R9 9 #define R10 10 #define R11 11 #define R12 12 #define R13 13 #define R14 14 #define R15 15 #define REXW 0b01001000 #define REXWR 0b01001100 #define MODRM(mod, reg, rm) ((uint8_t)mod << 6) | ((uint8_t)reg << 3) \ | ((uint8_t)rm) void x86_mov_r_i64(uint8_t reg, uint64_t value); void x86_push_i32(uint32_t value); void x86_push_i16(uint16_t value); void x86_push_i8(uint8_t value); void x86_push_r64(uint8_t reg); void x86_push_rm64(uint8_t mode, uint8_t r, uint64_t m); #endif