⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ppc_isa.defs

📁 基于LWVCL开发的库
💻 DEFS
字号:
## The PowerPC defs file to be run through developers/mnemonicizer.awk## Copyright (c) 2002 The University of Utah and the Flux Group.# All rights reserved.## @JANOSVM_KAFFE_JANOSVM_LICENSE@## File/define prefixprefix ppcopcode_type unsigned long## Registers and their attributes#registers 32float_registers 32# Prologue temporary and zero registerregister_attribute 0 0 Reserved# Stack pointerregister_attribute 1 1 Reserved# Reservedregister_attribute 2 2 Reserved# Localsregister_attribute 11 30 Rint|Rref Rglobal|Rnosaveoncallregister_attribute 31 31 Reserved# Zero register (?)float_register_attribute 0 0 Reserved# Localsfloat_register_attribute 14 31 Rfloat|Rdouble Rnosaveoncall## ABI register conventions#register_alias sp 1register_alias toc 2register_alias arg0 3register_alias arg1 4register_alias arg2 5register_alias arg3 6register_alias arg4 7register_alias arg5 8register_alias arg6 9register_alias arg7 10register_alias const_pool 31register_alias function_base 31register_alias ret 3register_alias rethi 3register_alias retlo 4float_register_alias arg0 1float_register_alias arg1 2float_register_alias arg2 3float_register_alias arg3 4float_register_alias arg4 5float_register_alias arg5 6float_register_alias arg6 7float_register_alias arg7 8float_register_alias arg8 9float_register_alias arg9 10float_register_alias arg10 11float_register_alias arg11 12float_register_alias arg12 13float_register_alias ret 1float_register_alias rethi 1float_register_alias retlo 2## Opcode fields:name	start	end#op_field	bd	16	29op_field	bi	11	15op_field	bo	6	10op_field	crba	11	15op_field	crbb	16	20op_field	crbd	6	10op_field	crfd	6	8op_field	crfs	11	13op_field	crm	12	19op_field	d	16	31op_field	fm	7	14op_field	fra	11	15op_field	frb	16	20op_field	frc	21	25op_field	frd	6	10op_field	frs	6	10op_field	imm	16	19op_field	li	6	29op_field	mb	21	25op_field	me	26	30op_field	nb	16	20op_field	opcd	0	5op_field	ra	11	15op_field	rb	16	20op_field	rd	6	10op_field	rs	6	10op_field	sh	16	20op_field	simm	16	31op_field	sr	12	15op_field	to	6	10op_field	uimm	16	31## Single bit opcode options#op_option	aa	30op_option	l	10op_option	lk	31op_option	oe	21op_option	rc	31## Reserved bits#op_option	res31	31## Bit sequences for branch options#bits	bo_decr_ne_false	0000ybits	bo_decr_eq_false	0001ybits	bo_false		001zybits	bo_decr_ne_true		0100ybits	bo_decr_eq_true		0101ybits	bo_true			011zybits	bo_decr_ne		1z00ybits	bo_decr_eq		1z01ybits	bo_always		1z1zz## Bit sequences for branch conditions#bits	bi_lt	00000bits	bi_gt	00001bits	bi_eq	00010bits	bi_so	00011bits	bi_cr_0	00000bits	bi_cr_1	00100bits	bi_cr_2	01000bits	cr_0	000bits	cr_1	001bits	cr_2	010bits	cr_3	011bits	cr_4	100bits	cr_5	101bits	cr_6	110bits	cr_7	111bits	spr_xer	00001bits	spr_lr	01000bits	spr_ctr	01001## Opcode definitions#// rd = ra + rbop add opcd(31) rd ra rb oe 266 rcop addc opcd(31) rd ra rb oe 10 rcop adde opcd(31) rd ra rb oe 138 rcop addi opcd(14) rd ra simmop addic opcd(12) rd ra simm# op addic. opcd(13) rd ra simmop addis opcd(15) rd ra simmop addme opcd(31) rd ra 0 oe 234 rcop addze opcd(31) rd ra 0 oe 202 rc# Note the reversal of ra/rs, I'd like to use the mnemonic ordering# instead of the instruction ordering.  Everything is fine though, the# field locations are defined above and not here and this is# "somewhat" independent of the ordering here anyways.  This same# thing is also done for slw, or, and xor.op and opcd(31) ra rs rb 28 rcop andc opcd(31) ra rs rb 60 rcop andi opcd(28) ra rs uimmop andis opcd(29) ra rs uimmop b opcd(18) li aa lkop bc opcd(16) bo bi bd aa lkop bcctr opcd(19) bo bi 528 lkop bctr opcd(19) bo(bo_always) bi(0) 528 lkop bctrl opcd(19) bo(bo_always) bi(0) 528 lk(1)op bclr opcd(19) bo bi 16 lkop blr opcd(19) bo(bo_always) bi(0) 16 lkop cmp opcd(31) crfd 0 l ra rb 0op cmpi opcd(11) crfd 0 l ra simmop cmpl opcd(31) crfd 0 l ra rb 32 res31op cmpli opcd(10) crfd 0 l ra uimmop divw opcd(31) rd ra rb oe 491 rcop divwu opcd(31) rd ra rb oe 459 rcop fabs opcd(63) frd 0 frb 264 rcop fadd opcd(63) frd fra frb 21 rcop fadds opcd(59) frd fra frb 21 rcop fctiw opcd(63) frd 0 frb 14 rcop fctiwz opcd(63) frd 0 frb 15 rcop fdiv opcd(63) frd fra frb 18 rcop fdivs opcd(59) frd fra frb 18 rcop fmul opcd(63) frd fra 0 frc 25 rcop fmuls opcd(59) frd fra 0 frc 25 rcop fneg opcd(63) frd 0 frb 40 rcop frsp opcd(63) frd 0 frb 12 rcop fsub opcd(63) frd fra frb 20 rcop fsubs opcd(59) frd fra frb 20 rcop fmr opcd(63) frd 0 frb 72 rcop lbz opcd(34) rd ra dop lbzu opcd(35) rd ra dop lbzux opcd(31) rd ra rb 119 res31op lbzx opcd(31) rd ra rb 87 res31op lfd opcd(50) rd ra dop lfdu opcd(51) rd ra dop lfdux opcd(31) rd ra rb 631 res31op lfdx opcd(31) rd ra rb 599 res31op lfs opcd(48) rd ra dop lfsu opcd(49) rd ra dop lfsux opcd(31) rd ra rb 567 res31op lfsx opcd(31) rd ra rb 535 res31op lha opcd(42) rd ra dop lhau opcd(43) rd ra dop lhaux opcd(31) rd ra rb 375 res31op lhax opcd(31) rd ra rb 343 res31op lhbrx opcd(31) rd ra rb 790 res31op lhz opcd(40) rd ra dop lhzu opcd(40) rd ra dop lhzux opcd(31) rd ra rb 311 res31op lhzx opcd(31) rd ra rb 279 res31op lmw opcd(46) rd ra dop lwz opcd(32) rd ra dop lwzu opcd(33) rd ra dop lwzux opcd(31) rd ra rb 55 res31op lwzx opcd(31) rd ra rb 23 res31op mfspr opcd(31) rd ra rb 339 res31op mflr opcd(31) rd ra(spr_lr) rb(0) 339 res31# or ra, rs, rsop mr opcd(31) ra rs rb(rs) 444 rcop mtspr opcd(31) rs ra rb 467 res31op mtctr opcd(31) rs ra(spr_ctr) rb(0) 467 res31op mtlr opcd(31) rs ra(spr_lr) rb(0) 467 res31op mulhw opcd(31) rd ra rb 75 rcop mulhwu opcd(31) rd ra rb 11 rcop mulli opcd(7) rd ra simmop mullw opcd(31) rd ra rb oe 235 rcop neg opcd(31) rd ra oe 104 rc# nop -> ori r0, r0, 0op nop opcd(24) ra(PPC_R0) rs(PPC_R0) 0op or opcd(31) ra rs rb 444 rcop orc opcd(31) ra rs rb 412 rcop ori opcd(24) ra rs uimmop oris opcd(24) ra rs uimmop rlwimi opcd(20) ra rs sh mb me rcop rlwinm opcd(21) ra rs sh mb me rcop slwi opcd(21) ra rs sh mb(0) me(31-sh) rcop slw opcd(31) ra rs rb 24 rcop sraw opcd(31) ra rs rb 792 rcop srawi opcd(31) ra rs sh 824 rcop srw opcd(31) ra rs rb 536 rcop stb opcd(38) rs ra dop stbu opcd(39) rs ra dop stbux opcd(31) rs ra rb 247 res31op stbx opcd(31) rs ra rb 215 res31op stfd opcd(54) rs ra dop stfdu opcd(55) rs ra dop stfdux opcd(31) rs ra rb 759 res31op stfdx opcd(31) rs ra rb 727 res31op stfs opcd(52) rs ra dop stfsu opcd(53) rs ra dop stfsux opcd(31) rs ra rb 695 res31op stfsx opcd(31) rs ra rb 663 res31op sth opcd(44) rs ra dop sthbrx opcd(31) rs ra rb 918 res31op sthu opcd(45) rs ra dop sthux opcd(31) rs ra rb 439 res31op sthx opcd(31) rs ra rb 407 res31op stmw opcd(47) rs ra dop stw opcd(36) rs ra dop stwu opcd(37) rs ra dop subf opcd(31) rd ra rb oe 40 rcop subfc opcd(31) rd ra rb oe 8 rcop subfe opcd(31) rd ra rb oe 136 rcop subfic opcd(8) rd ra simmop subfme opcd(31) rd ra 0 oe 232 rcop subfze opcd(31) rd ra 0 oe 200 rcop li opcd(14) rd ra(PPC_R0) simmop lis opcd(15) rd ra(PPC_R0) simmop xor opcd(31) ra rs rb 316 rcop xori opcd(26) ra rs uimmop xoris opcd(27) ra rs uimm

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -