#include #include #include #include #include #include #include #include "codex86.h" #include #include "regalloc.h" int main () { Asm *a = asm_new (); RegAlloc *reg = reg_alloc_new (a); uint8_t *code; op_t b, c, d, e, f, g, h, i; op_t tb, tc, td, te, tf, tg, th, ti; b = reg_alloc_alloc_mmx (reg); c = reg_alloc_alloc_mmx (reg); d = reg_alloc_alloc_mmx (reg); e = reg_alloc_alloc_gp (reg); f = reg_alloc_alloc_gp (reg); g = reg_alloc_alloc_gp (reg); h = reg_alloc_alloc_gp (reg); i = reg_alloc_alloc_gp (reg); tb = reg_alloc_get_register (reg, b); tc = reg_alloc_get_register (reg, c); td = reg_alloc_get_register (reg, d); te = reg_alloc_get_register (reg, e); tf = reg_alloc_get_register (reg, f); tg = reg_alloc_get_register (reg, g); th = reg_alloc_get_register (reg, h); x86_mov (a, x86_imm (4096), th); ti = reg_alloc_get_register (reg, i); x86_mov (a, x86_imm (4096), ti); tb = reg_alloc_get_register (reg, b); x86_movq (a, tb, tb); tc = reg_alloc_get_register (reg, c); td = reg_alloc_get_register (reg, d); te = reg_alloc_get_register (reg, e); tf = reg_alloc_get_register (reg, f); tg = reg_alloc_get_register (reg, g); th = reg_alloc_get_register (reg, h); ti = reg_alloc_get_register (reg, i); tb = reg_alloc_get_register (reg, b); tc = reg_alloc_get_register (reg, c); td = reg_alloc_get_register (reg, d); te = reg_alloc_get_register (reg, e); tf = reg_alloc_get_register (reg, f); tg = reg_alloc_get_register (reg, g); th = reg_alloc_get_register (reg, h); ti = reg_alloc_get_register (reg, i); #if 0 x86_mov (a, x86_imm (4096), t1); reg_alloc_dealloc (reg, b); c = reg_alloc_alloc_gp (reg); t2 = reg_alloc_get_register (reg, c); x86_mov (a, t1, t2); #endif code = asm_emit (a); return 0; }