blob: 6eb8831b10dc9051c9d94244b068c824cf373c49 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
#ifndef X86_H
#define X86_H
#include <stdint.h>
#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
|