lr/i386.c

38 lines
765 B
C

#include<stdio.h>
#include<stdlib.h>
#include"i386.h"
#include"state.h"
LangDef gen_i386_langdef(void)
{
LangDef ld={
.acc_32="eax",
.acc_wordsize="eax",
.add_32="addl",
.add_wordsize="addl",
.bp="ebp",
.cmp_32="cmpl",
.cmp_wordsize="cmpl",
.div_32="idivl",
.div_wordsize="idivl",
.lea_wordsize="leal",
.mov_32="movl",
.mov_wordsize="movl",
.mul_32="imull",
.mul_wordsize="imull",
.pop_wordsize="popl",
.push_wordsize="pushl",
.registers_abi_32={"edi","esi","edx","ecx","ecx","ecx"},
.registers_abi_wordsize={"edi","esi","edx","ecx","ecx","ecx"},
.scratch1_32="ecx",
.scratch1_wordsize="ecx",
.sp="esp",
.sub_32="subl",
.sub_wordsize="subl",
.wordsize=4,
.xor_32="xorl",
.xor_wordsize="xorl",
};
return ld;
}