38 lines
765 B
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;
|
|
}
|