📄 x86linux.md
字号:
%{/* x86/linux lburg spec. Derived from x86.md byMarcos Ramirez <marcos@inf.utfsm.cl>Horst von Brand <vonbrand@sleipnir.valparaiso.cl>Jacob Navia <jacob@jacob.remcomp.fr>*/enum { EAX=0, ECX=1, EDX=2, EBX=3, ESI=6, EDI=7 };#include "c.h"#define NODEPTR_TYPE Node#define OP_LABEL(p) ((p)->op)#define LEFT_CHILD(p) ((p)->kids[0])#define RIGHT_CHILD(p) ((p)->kids[1])#define STATE_LABEL(p) ((p)->x.state)extern int ckstack(Node, int);extern int memop(Node);extern int sametree(Node, Node);static Symbol charreg[32], shortreg[32], intreg[32];static Symbol fltreg[32];static Symbol charregw, shortregw, intregw, fltregw;static int cseg;static Symbol quo, rem;extern char *stabprefix;extern void stabblock(int, int, Symbol*);extern void stabend(Coordinate *, Symbol, Coordinate **, Symbol *, Symbol *);extern void stabfend(Symbol, int);extern void stabinit(char *, int, char *[]);extern void stabline(Coordinate *);extern void stabsym(Symbol);extern void stabtype(Symbol);static int pflag = 0;static char rcsid[] = "$Id: x86linux.md,v 1.1 2002/08/28 23:12:48 drh Exp $";#define hasargs(p) (p->syms[0] && p->syms[0]->u.c.v.i > 0 ? 0 : LBURG_MAX)%}%start stmt%term CNSTF4=4113%term CNSTF8=8209%term CNSTF16=16401%term CNSTI1=1045%term CNSTI2=2069%term CNSTI4=4117%term CNSTI8=8213%term CNSTP4=4119%term CNSTP8=8215%term CNSTU1=1046%term CNSTU2=2070%term CNSTU4=4118%term CNSTU8=8214 %term ARGB=41%term ARGF4=4129%term ARGF8=8225%term ARGF16=16417%term ARGI4=4133%term ARGI8=8229%term ARGP4=4135%term ARGP8=8231%term ARGU4=4134%term ARGU8=8230%term ASGNB=57%term ASGNF4=4145%term ASGNF8=8241%term ASGNF16=16433%term ASGNI1=1077%term ASGNI2=2101%term ASGNI4=4149%term ASGNI8=8245%term ASGNP4=4151%term ASGNP8=8247%term ASGNU1=1078%term ASGNU2=2102%term ASGNU4=4150%term ASGNU8=8246%term INDIRB=73%term INDIRF4=4161%term INDIRF8=8257%term INDIRF16=16449%term INDIRI1=1093%term INDIRI2=2117%term INDIRI4=4165%term INDIRI8=8261%term INDIRP4=4167%term INDIRP8=8263%term INDIRU1=1094%term INDIRU2=2118%term INDIRU4=4166%term INDIRU8=8262%term CVFF4=4209%term CVFF8=8305%term CVFF16=16497%term CVFI4=4213%term CVFI8=8309%term CVIF4=4225%term CVIF8=8321%term CVIF16=16513%term CVII1=1157%term CVII2=2181%term CVII4=4229%term CVII8=8325%term CVIU1=1158%term CVIU2=2182%term CVIU4=4230%term CVIU8=8326%term CVPP4=4247%term CVPP8=8343%term CVPP16=16535%term CVPU4=4246%term CVPU8=8342%term CVUI1=1205%term CVUI2=2229%term CVUI4=4277%term CVUI8=8373%term CVUP4=4279%term CVUP8=8375%term CVUP16=16567%term CVUU1=1206%term CVUU2=2230%term CVUU4=4278%term CVUU8=8374%term NEGF4=4289%term NEGF8=8385%term NEGF16=16577%term NEGI4=4293%term NEGI8=8389%term CALLB=217%term CALLF4=4305%term CALLF8=8401%term CALLF16=16593%term CALLI4=4309%term CALLI8=8405%term CALLP4=4311%term CALLP8=8407%term CALLU4=4310%term CALLU8=8406%term CALLV=216%term RETF4=4337%term RETF8=8433%term RETF16=16625%term RETI4=4341%term RETI8=8437%term RETP4=4343%term RETP8=8439%term RETU4=4342%term RETU8=8438%term RETV=248%term ADDRGP4=4359%term ADDRGP8=8455%term ADDRFP4=4375%term ADDRFP8=8471%term ADDRLP4=4391%term ADDRLP8=8487%term ADDF4=4401%term ADDF8=8497%term ADDF16=16689%term ADDI4=4405%term ADDI8=8501%term ADDP4=4407%term ADDP8=8503%term ADDU4=4406%term ADDU8=8502%term SUBF4=4417%term SUBF8=8513%term SUBF16=16705%term SUBI4=4421%term SUBI8=8517%term SUBP4=4423%term SUBP8=8519%term SUBU4=4422%term SUBU8=8518%term LSHI4=4437%term LSHI8=8533%term LSHU4=4438%term LSHU8=8534%term MODI4=4453%term MODI8=8549%term MODU4=4454%term MODU8=8550%term RSHI4=4469%term RSHI8=8565%term RSHU4=4470%term RSHU8=8566%term BANDI4=4485%term BANDI8=8581%term BANDU4=4486%term BANDU8=8582%term BCOMI4=4501%term BCOMI8=8597%term BCOMU4=4502%term BCOMU8=8598%term BORI4=4517%term BORI8=8613%term BORU4=4518%term BORU8=8614%term BXORI4=4533%term BXORI8=8629%term BXORU4=4534%term BXORU8=8630%term DIVF4=4545%term DIVF8=8641%term DIVF16=16833%term DIVI4=4549%term DIVI8=8645%term DIVU4=4550%term DIVU8=8646%term MULF4=4561%term MULF8=8657%term MULF16=16849%term MULI4=4565%term MULI8=8661%term MULU4=4566%term MULU8=8662%term EQF4=4577%term EQF8=8673%term EQF16=16865%term EQI4=4581%term EQI8=8677%term EQU4=4582%term EQU8=8678%term GEF4=4593%term GEF8=8689%term GEI4=4597%term GEI8=8693%term GEI16=16885%term GEU4=4598%term GEU8=8694%term GTF4=4609%term GTF8=8705%term GTF16=16897%term GTI4=4613%term GTI8=8709%term GTU4=4614%term GTU8=8710%term LEF4=4625%term LEF8=8721%term LEF16=16913%term LEI4=4629%term LEI8=8725%term LEU4=4630%term LEU8=8726%term LTF4=4641%term LTF8=8737%term LTF16=16929%term LTI4=4645%term LTI8=8741%term LTU4=4646%term LTU8=8742%term NEF4=4657%term NEF8=8753%term NEF16=16945%term NEI4=4661%term NEI8=8757%term NEU4=4662%term NEU8=8758%term JUMPV=584%term LABELV=600%term LOADB=233%term LOADF4=4321%term LOADF8=8417%term LOADF16=16609%term LOADI1=1253%term LOADI2=2277%term LOADI4=4325%term LOADI8=8421%term LOADP4=4327%term LOADP8=8423%term LOADU1=1254%term LOADU2=2278%term LOADU4=4326%term LOADU8=8422%term VREGP=711%%reg: INDIRI1(VREGP) "# read register\n"reg: INDIRU1(VREGP) "# read register\n"reg: INDIRI2(VREGP) "# read register\n"reg: INDIRU2(VREGP) "# read register\n"reg: INDIRI4(VREGP) "# read register\n"reg: INDIRP4(VREGP) "# read register\n"reg: INDIRU4(VREGP) "# read register\n"reg: INDIRI8(VREGP) "# read register\n"reg: INDIRP8(VREGP) "# read register\n"reg: INDIRU8(VREGP) "# read register\n"freg: INDIRF4(VREGP) "# read register\n"freg: INDIRF8(VREGP) "# read register\n"stmt: ASGNI1(VREGP,reg) "# write register\n"stmt: ASGNU1(VREGP,reg) "# write register\n"stmt: ASGNI2(VREGP,reg) "# write register\n"stmt: ASGNU2(VREGP,reg) "# write register\n"stmt: ASGNF4(VREGP,reg) "# write register\n"stmt: ASGNI4(VREGP,reg) "# write register\n"stmt: ASGNP4(VREGP,reg) "# write register\n"stmt: ASGNU4(VREGP,reg) "# write register\n"stmt: ASGNF8(VREGP,reg) "# write register\n"stmt: ASGNI8(VREGP,reg) "# write register\n"stmt: ASGNP8(VREGP,reg) "# write register\n"stmt: ASGNU8(VREGP,reg) "# write register\n"cnst: CNSTI1 "%a"cnst: CNSTU1 "%a"cnst: CNSTI2 "%a"cnst: CNSTU2 "%a"cnst: CNSTI4 "%a"cnst: CNSTU4 "%a"cnst: CNSTP4 "%a"cnst: CNSTI8 "%a"cnst: CNSTU8 "%a"cnst: CNSTP8 "%a"con: cnst "$%0"stmt: reg ""stmt: freg ""
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -