📄 asmout.c
字号:
case ACRORN: return OPVCC(19,417,0,0); case ACRXOR: return OPVCC(19,193,0,0); case ADCBF: return OPVCC(31,86,0,0); case ADCBI: return OPVCC(31,470,0,0); case ADCBST: return OPVCC(31,54,0,0); case ADCBT: return OPVCC(31,278,0,0); case ADCBTST: return OPVCC(31,246,0,0); case ADCBZ: return OPVCC(31,1014,0,0); case AREM: case ADIVW: return OPVCC(31,491,0,0); case AREMCC: case ADIVWCC: return OPVCC(31,491,0,1); case AREMV: case ADIVWV: return OPVCC(31,491,1,0); case AREMVCC: case ADIVWVCC: return OPVCC(31,491,1,1); case AREMU: case ADIVWU: return OPVCC(31,459,0,0); case AREMUCC: case ADIVWUCC: return OPVCC(31,459,0,1); case AREMUV: case ADIVWUV: return OPVCC(31,459,1,0); case AREMUVCC: case ADIVWUVCC: return OPVCC(31,459,1,1); case AEIEIO: return OPVCC(31,854,0,0); case AEQV: return OPVCC(31,284,0,0); case AEQVCC: return OPVCC(31,284,0,1); case AEXTSB: return OPVCC(31,954,0,0); case AEXTSBCC: return OPVCC(31,954,0,1); case AEXTSH: return OPVCC(31,922,0,0); case AEXTSHCC: return OPVCC(31,922,0,1); case AFABS: return OPVCC(63,264,0,0); case AFABSCC: return OPVCC(63,264,0,1); case AFADD: return OPVCC(63,21,0,0); case AFADDCC: return OPVCC(63,21,0,1); case AFADDS: return OPVCC(59,21,0,0); case AFADDSCC: return OPVCC(59,21,0,1); case AFCMPO: return OPVCC(63,32,0,0); case AFCMPU: return OPVCC(63,0,0,0); case AFCTIW: return OPVCC(63,14,0,0); case AFCTIWCC: return OPVCC(63,14,0,1); case AFCTIWZ: return OPVCC(63,15,0,0); case AFCTIWZCC: return OPVCC(63,15,0,1); case AFDIV: return OPVCC(63,18,0,0); case AFDIVCC: return OPVCC(63,18,0,1); case AFDIVS: return OPVCC(59,18,0,0); case AFDIVSCC: return OPVCC(59,18,0,1); case AFMADD: return OPVCC(63,29,0,0); case AFMADDCC: return OPVCC(63,29,0,1); case AFMADDS: return OPVCC(59,29,0,0); case AFMADDSCC: return OPVCC(59,29,0,1); case AFMOVS: case AFMOVD: return OPVCC(63,72,0,0); /* load */ case AFMOVDCC: return OPVCC(63,72,0,1); case AFMSUB: return OPVCC(63,28,0,0); case AFMSUBCC: return OPVCC(63,28,0,1); case AFMSUBS: return OPVCC(59,28,0,0); case AFMSUBSCC: return OPVCC(59,28,0,1); case AFMUL: return OPVCC(63,25,0,0); case AFMULCC: return OPVCC(63,25,0,1); case AFMULS: return OPVCC(59,25,0,0); case AFMULSCC: return OPVCC(59,25,0,1); case AFNABS: return OPVCC(63,136,0,0); case AFNABSCC: return OPVCC(63,136,0,1); case AFNEG: return OPVCC(63,40,0,0); case AFNEGCC: return OPVCC(63,40,0,1); case AFNMADD: return OPVCC(63,31,0,0); case AFNMADDCC: return OPVCC(63,31,0,1); case AFNMADDS: return OPVCC(59,31,0,0); case AFNMADDSCC: return OPVCC(59,31,0,1); case AFNMSUB: return OPVCC(63,30,0,0); case AFNMSUBCC: return OPVCC(63,30,0,1); case AFNMSUBS: return OPVCC(59,30,0,0); case AFNMSUBSCC: return OPVCC(59,30,0,1); case AFRSP: return OPVCC(63,12,0,0); case AFRSPCC: return OPVCC(63,12,0,1); case AFSUB: return OPVCC(63,20,0,0); case AFSUBCC: return OPVCC(63,20,0,1); case AFSUBS: return OPVCC(59,20,0,0); case AFSUBSCC: return OPVCC(59,20,0,1); case AICBI: return OPVCC(31,982,0,0); case AISYNC: return OPVCC(19,150,0,0); /* lscb etc are not PowerPC instructions */ case AMTFSB0: return OPVCC(63,70,0,0); case AMTFSB0CC: return OPVCC(63,70,0,1); case AMTFSB1: return OPVCC(63,38,0,0); case AMTFSB1CC: return OPVCC(63,38,0,1); case AMULHW: return OPVCC(31,75,0,0); case AMULHWCC: return OPVCC(31,75,0,1); case AMULHWU: return OPVCC(31,11,0,0); case AMULHWUCC: return OPVCC(31,11,0,1); case AMULLW: return OPVCC(31,235,0,0); case AMULLWCC: return OPVCC(31,235,0,1); case AMULLWV: return OPVCC(31,235,1,0); case AMULLWVCC: return OPVCC(31,235,1,1); /* the following group is only available on IBM embedded powerpc */ case AMACCHW: return OPVCC(4,172,0,0); case AMACCHWCC: return OPVCC(4,172,0,1); case AMACCHWS: return OPVCC(4,236,0,0); case AMACCHWSCC: return OPVCC(4,236,0,1); case AMACCHWSU: return OPVCC(4,204,0,0); case AMACCHWSUCC: return OPVCC(4,204,0,1); case AMACCHWSUV: return OPVCC(4,204,1,0); case AMACCHWSUVCC: return OPVCC(4,204,1,1); case AMACCHWSV: return OPVCC(4,236,1,0); case AMACCHWSVCC: return OPVCC(4,236,1,1); case AMACCHWU: return OPVCC(4,140,0,0); case AMACCHWUCC: return OPVCC(4,140,0,1); case AMACCHWUV: return OPVCC(4,140,1,0); case AMACCHWUVCC: return OPVCC(4,140,1,1); case AMACCHWV: return OPVCC(4,172,1,0); case AMACCHWVCC: return OPVCC(4,172,1,1); case AMACHHW: return OPVCC(4,44,0,0); case AMACHHWCC: return OPVCC(4,44,0,1); case AMACHHWS: return OPVCC(4,108,0,0); case AMACHHWSCC: return OPVCC(4,108,0,1); case AMACHHWSU: return OPVCC(4,76,0,0); case AMACHHWSUCC: return OPVCC(4,76,0,1); case AMACHHWSUV: return OPVCC(4,76,1,0); case AMACHHWSUVCC: return OPVCC(4,76,1,1); case AMACHHWSV: return OPVCC(4,108,1,0); case AMACHHWSVCC: return OPVCC(4,108,1,1); case AMACHHWU: return OPVCC(4,12,0,0); case AMACHHWUCC: return OPVCC(4,12,0,1); case AMACHHWUV: return OPVCC(4,12,1,0); case AMACHHWUVCC: return OPVCC(4,12,1,1); case AMACHHWV: return OPVCC(4,44,1,0); case AMACHHWVCC: return OPVCC(4,44,1,1); case AMACLHW: return OPVCC(4,428,0,0); case AMACLHWCC: return OPVCC(4,428,0,1); case AMACLHWS: return OPVCC(4,492,0,0); case AMACLHWSCC: return OPVCC(4,492,0,1); case AMACLHWSU: return OPVCC(4,460,0,0); case AMACLHWSUCC: return OPVCC(4,460,0,1); case AMACLHWSUV: return OPVCC(4,460,1,0); case AMACLHWSUVCC: return OPVCC(4,460,1,1); case AMACLHWSV: return OPVCC(4,492,1,0); case AMACLHWSVCC: return OPVCC(4,492,1,1); case AMACLHWU: return OPVCC(4,396,0,0); case AMACLHWUCC: return OPVCC(4,396,0,1); case AMACLHWUV: return OPVCC(4,396,1,0); case AMACLHWUVCC: return OPVCC(4,396,1,1); case AMACLHWV: return OPVCC(4,428,1,0); case AMACLHWVCC: return OPVCC(4,428,1,1); case AMULCHW: return OPVCC(4,168,0,0); case AMULCHWCC: return OPVCC(4,168,0,1); case AMULCHWU: return OPVCC(4,136,0,0); case AMULCHWUCC: return OPVCC(4,136,0,1); case AMULHHW: return OPVCC(4,40,0,0); case AMULHHWCC: return OPVCC(4,40,0,1); case AMULHHWU: return OPVCC(4,8,0,0); case AMULHHWUCC: return OPVCC(4,8,0,1); case AMULLHW: return OPVCC(4,424,0,0); case AMULLHWCC: return OPVCC(4,424,0,1); case AMULLHWU: return OPVCC(4,392,0,0); case AMULLHWUCC: return OPVCC(4,392,0,1); case ANMACCHW: return OPVCC(4,174,0,0); case ANMACCHWCC: return OPVCC(4,174,0,1); case ANMACCHWS: return OPVCC(4,238,0,0); case ANMACCHWSCC: return OPVCC(4,238,0,1); case ANMACCHWSV: return OPVCC(4,238,1,0); case ANMACCHWSVCC: return OPVCC(4,238,1,1); case ANMACCHWV: return OPVCC(4,174,1,0); case ANMACCHWVCC: return OPVCC(4,174,1,1); case ANMACHHW: return OPVCC(4,46,0,0); case ANMACHHWCC: return OPVCC(4,46,0,1); case ANMACHHWS: return OPVCC(4,110,0,0); case ANMACHHWSCC: return OPVCC(4,110,0,1); case ANMACHHWSV: return OPVCC(4,110,1,0); case ANMACHHWSVCC: return OPVCC(4,110,1,1); case ANMACHHWV: return OPVCC(4,46,1,0); case ANMACHHWVCC: return OPVCC(4,46,1,1); case ANMACLHW: return OPVCC(4,430,0,0); case ANMACLHWCC: return OPVCC(4,430,0,1); case ANMACLHWS: return OPVCC(4,494,0,0); case ANMACLHWSCC: return OPVCC(4,494,0,1); case ANMACLHWSV: return OPVCC(4,494,1,0); case ANMACLHWSVCC: return OPVCC(4,494,1,1); case ANMACLHWV: return OPVCC(4,430,1,0); case ANMACLHWVCC: return OPVCC(4,430,1,1); case ANAND: return OPVCC(31,476,0,0); case ANANDCC: return OPVCC(31,476,0,1); case ANEG: return OPVCC(31,104,0,0); case ANEGCC: return OPVCC(31,104,0,1); case ANEGV: return OPVCC(31,104,1,0); case ANEGVCC: return OPVCC(31,104,1,1); case ANOR: return OPVCC(31,124,0,0); case ANORCC: return OPVCC(31,124,0,1); case AOR: return OPVCC(31,444,0,0); case AORCC: return OPVCC(31,444,0,1); case AORN: return OPVCC(31,412,0,0); case AORNCC: return OPVCC(31,412,0,1); case ARFI: return OPVCC(19,50,0,0); case ARFCI: return OPVCC(19,51,0,0); case ARLWMI: return OPVCC(20,0,0,0); case ARLWMICC: return OPVCC(20,0,0,1); case ARLWNM: return OPVCC(23,0,0,0); case ARLWNMCC: return OPVCC(23,0,0,1); case ASYSCALL: return OPVCC(17,1,0,0); case ASLW: return OPVCC(31,24,0,0); case ASLWCC: return OPVCC(31,24,0,1); case ASRAW: return OPVCC(31,792,0,0); case ASRAWCC: return OPVCC(31,792,0,1); case ASRW: return OPVCC(31,536,0,0); case ASRWCC: return OPVCC(31,536,0,1); case ASUB: return OPVCC(31,40,0,0); case ASUBCC: return OPVCC(31,40,0,1); case ASUBV: return OPVCC(31,40,1,0); case ASUBVCC: return OPVCC(31,40,1,1); case ASUBC: return OPVCC(31,8,0,0); case ASUBCCC: return OPVCC(31,8,0,1); case ASUBCV: return OPVCC(31,8,1,0); case ASUBCVCC: return OPVCC(31,8,1,1); case ASUBE: return OPVCC(31,136,0,0); case ASUBECC: return OPVCC(31,136,0,1); case ASUBEV: return OPVCC(31,136,1,0); case ASUBEVCC: return OPVCC(31,136,1,1); case ASUBME: return OPVCC(31,232,0,0); case ASUBMECC: return OPVCC(31,232,0,1); case ASUBMEV: return OPVCC(31,232,1,0); case ASUBMEVCC: return OPVCC(31,232,1,1); case ASUBZE: return OPVCC(31,200,0,0); case ASUBZECC: return OPVCC(31,200,0,1); case ASUBZEV: return OPVCC(31,200,1,0); case ASUBZEVCC: return OPVCC(31,200,1,1); case ASYNC: return OPVCC(31,598,0,0); case ATLBIE: return OPVCC(31,306,0,0); case ATW: return OPVCC(31,4,0,0); case AXOR: return OPVCC(31,316,0,0); case AXORCC: return OPVCC(31,316,0,1); } diag("bad r/r opcode %A", a); return 0;}longopirr(int a){ switch(a) { case AADD: return OPVCC(14,0,0,0); case AADDC: return OPVCC(12,0,0,0); case AADDCCC: return OPVCC(13,0,0,0); case AADD+AEND: return OPVCC(15,0,0,0); /* ADDIS/CAU */ case AANDCC: return OPVCC(28,0,0,0); case AANDCC+AEND: return OPVCC(29,0,0,0); /* ANDIS./ANDIU. */ case ABR: return OPVCC(18,0,0,0); case ABL: return OPVCC(18,0,0,0) | 1; case ABC: return OPVCC(16,0,0,0); case ABCL: return OPVCC(16,0,0,0) | 1; case ABEQ: return AOP_RRR(16<<26,12,2,0); case ABGE: return AOP_RRR(16<<26,4,0,0); case ABGT: return AOP_RRR(16<<26,12,1,0); case ABLE: return AOP_RRR(16<<26,4,1,0); case ABLT: return AOP_RRR(16<<26,12,0,0); case ABNE: return AOP_RRR(16<<26,4,2,0); case ABVC: return AOP_RRR(16<<26,4,3,0); case ABVS: return AOP_RRR(16<<26,12,3,0); case ACMP: return OPVCC(11,0,0,0); case ACMPU: return OPVCC(10,0,0,0); case ALSW: return OPVCC(31,597,0,0); case AMULLW: return OPVCC(7,0,0,0); case AOR: return OPVCC(24,0,0,0); case AOR+AEND: return OPVCC(25,0,0,0); /* ORIS/ORIU */ case ARLWMI: return OPVCC(20,0,0,0); /* rlwimi */ case ARLWMICC: return OPVCC(20,0,0,1); case ARLWNM: return OPVCC(21,0,0,0); /* rlwinm */ case ARLWNMCC: return OPVCC(21,0,0,1); case ASRAW: return OPVCC(31,824,0,0); case ASRAWCC: return OPVCC(31,824,0,1); case ASTSW: return OPVCC(31,725,0,0); case ASUBC: return OPVCC(8,0,0,0); case ATW: return OPVCC(3,0,0,0); case AXOR: return OPVCC(26,0,0,0); /* XORIL */ case AXOR+AEND: return OPVCC(27,0,0,0); /* XORIU */ } diag("bad opcode i/r %A", a); return 0;}/* * load o(a),d */longopload(int a){ switch(a) { case AMOVW: return OPVCC(32,0,0,0); /* lwz */ case AMOVWU: return OPVCC(33,0,0,0); /* lwzu */ case AMOVB: case AMOVBZ: return OPVCC(34,0,0,0); /* load */ case AMOVBU: case AMOVBZU: return OPVCC(35,0,0,0); case AFMOVD: return OPVCC(50,0,0,0); case AFMOVDU: return OPVCC(51,0,0,0); case AFMOVS: return OPVCC(48,0,0,0); case AFMOVSU: return OPVCC(49,0,0,0); case AMOVH: return OPVCC(42,0,0,0); case AMOVHU: return OPVCC(43,0,0,0); case AMOVHZ: return OPVCC(40,0,0,0); case AMOVHZU: return OPVCC(41,0,0,0); case AMOVMW: return OPVCC(46,0,0,0); /* lmw */ } diag("bad load opcode %A", a); return 0;}/* * indexed load a(b),d */longoploadx(int a){ switch(a) { case AMOVW: return OPVCC(31,23,0,0); /* lwzx */ case AMOVWU: return OPVCC(31,55,0,0); /* lwzux */ case AMOVB: case AMOVBZ: return OPVCC(31,87,0,0); /* lbzx */ case AMOVBU: case AMOVBZU: return OPVCC(31,119,0,0); /* lbzux */ case AFMOVD: return OPVCC(31,599,0,0); /* lfdx */ case AFMOVDU: return OPVCC(31,631,0,0); /* lfdux */ case AFMOVS: return OPVCC(31,535,0,0); /* lfsx */ case AFMOVSU: return OPVCC(31,567,0,0); /* lfsux */ case AMOVH: return OPVCC(31,343,0,0); /* lhax */ case AMOVHU: return OPVCC(31,375,0,0); /* lhaux */ case AMOVHBR: return OPVCC(31,790,0,0); /* lhbrx */ case AMOVWBR: return OPVCC(31,534,0,0); /* lwbrx */ case AMOVHZ: return OPVCC(31,279,0,0); /* lhzx */ case AMOVHZU: return OPVCC(31,311,0,0); /* lhzux */ case AECIWX: return OPVCC(31,310,0,0); /* eciwx */ case ALWAR: return OPVCC(31,20,0,0); /* lwarx */ case ALSW: return OPVCC(31,533,0,0); /* lswx */ } diag("bad loadx opcode %A", a); return 0;}/* * store s,o(d) */longopstore(int a){ switch(a) { case AMOVB: case AMOVBZ: return OPVCC(38,0,0,0); /* stb */ case AMOVBU: case AMOVBZU: return OPVCC(39,0,0,0); /* stbu */ case AFMOVD: return OPVCC(54,0,0,0); /* stfd */ case AFMOVDU: return OPVCC(55,0,0,0); /* stfdu */ case AFMOVS: return OPVCC(52,0,0,0); /* stfs */ case AFMOVSU: return OPVCC(53,0,0,0); /* stfsu */ case AMOVHZ: case AMOVH: return OPVCC(44,0,0,0); /* sth */ case AMOVHZU: case AMOVHU: return OPVCC(45,0,0,0); /* sthu */ case AMOVMW: return OPVCC(47,0,0,0); /* stmw */ case ASTSW: return OPVCC(31,725,0,0); /* stswi */ case AMOVW: return OPVCC(36,0,0,0); /* stw */ case AMOVWU: return OPVCC(37,0,0,0); /* stwu */ } diag("unknown store opcode %A", a); return 0;}/* * indexed store s,a(b) */longopstorex(int a){ switch(a) { case AMOVB: case AMOVBZ: return OPVCC(31,215,0,0); /* stbx */ case AMOVBU: case AMOVBZU: return OPVCC(31,247,0,0); /* stbux */ case AFMOVD: return OPVCC(31,727,0,0); /* stfdx */ case AFMOVDU: return OPVCC(31,759,0,0); /* stfdux */ case AFMOVS: return OPVCC(31,663,0,0); /* stfsx */ case AFMOVSU: return OPVCC(31,695,0,0); /* stfsux */ case AMOVHZ: case AMOVH: return OPVCC(31,407,0,0); /* sthx */ case AMOVHBR: return OPVCC(31,918,0,0); /* sthbrx */ case AMOVHZU: case AMOVHU: return OPVCC(31,439,0,0); /* sthux */ case AMOVW: return OPVCC(31,151,0,0); /* stwx */ case AMOVWU: return OPVCC(31,183,0,0); /* stwux */ case ASTSW: return OPVCC(31,661,0,0); /* stswx */ case AMOVWBR: return OPVCC(31,662,0,0); /* stwbrx */ case ASTWCCC: return OPVCC(31,150,0,1); /* stwcx. */ case AECOWX: return OPVCC(31,438,0,0); /* ecowx */ } diag("unknown storex opcode %A", a); return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -