ppcfmt.inc
来自「开放源码的编译器open watcom 1.6.0版的源代码」· INC 代码 · 共 98 行
INC
98 行
//*****************************************************************************
//*
//* Open Watcom Project
//*
//* Portions Copyright (c) 1983-2002 Sybase, Inc. All Rights Reserved.
//*
//* ========================================================================
//*
//* This file contains Original Code and/or Modifications of Original
//* Code as defined in and that are subject to the Sybase Open Watcom
//* Public License version 1.0 (the 'License'). You may not use this file
//* except in compliance with the License. BY USING THIS FILE YOU AGREE TO
//* ALL TERMS AND CONDITIONS OF THE LICENSE. A copy of the License is
//* provided with the Original Code and Modifications, and is also
//* available at www.sybase.com/developer/opensource.
//*
//* The Original Code and all software distributed under the License are
//* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
//* EXPRESS OR IMPLIED, AND SYBASE AND ALL CONTRIBUTORS HEREBY DISCLAIM
//* ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF
//* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR
//* NON-INFRINGEMENT. Please see the License for the specific language
//* governing rights and limitations under the License.
//*
//* ========================================================================
//*
//* Description: WHEN YOU FIGURE OUT WHAT THIS FILE DOES, PLEASE
//* DESCRIBE IT HERE!
//*
//*****************************************************************************
PICK( IT_BIN, ITBinary, OP_GPR, OP_GPR, OP_GPR, OP_NOTHING, OP_NOTHING ) /* addx */
PICK( IT_BIN2, ITBinary2, OP_GPR, OP_GPR, OP_GPR, OP_NOTHING, OP_NOTHING ) /* eqv */
PICK( IT_BIN_IMM, ITBinaryImmed, OP_GPR, OP_GPR, OP_IMMED, OP_NOTHING, OP_NOTHING ) /* addi */
PICK( IT_BIN_IMM2, ITBinaryImmed2, OP_GPR, OP_GPR, OP_IMMED, OP_NOTHING, OP_NOTHING ) /* ori */
PICK( IT_UN, ITUnary, OP_GPR, OP_GPR, OP_NOTHING, OP_NOTHING, OP_NOTHING ) /* absx */
PICK( IT_UN2, ITUnary2, OP_GPR, OP_GPR, OP_NOTHING, OP_NOTHING, OP_NOTHING ) /* extsb */
PICK( IT_FP_BIN, ITFPBin, OP_FPR, OP_FPR, OP_FPR, OP_NOTHING, OP_NOTHING ) /* faddx */
PICK( IT_FP_UN, ITFPUnary, OP_FPR, OP_FPR, OP_NOTHING, OP_NOTHING, OP_NOTHING ) /* fabsx */
PICK( IT_FP_CMP, ITFPCmp, OP_CRF, OP_FPR, OP_FPR, OP_NOTHING, OP_NOTHING ) /* fcmpo */
PICK( IT_FP_MULADD, ITFPMulAdd, OP_FPR, OP_FPR, OP_FPR, OP_FPR, OP_NOTHING ) /* fmadd */
PICK( IT_FP_MUL, ITFPMul, OP_FPR, OP_FPR, OP_FPR, OP_NOTHING, OP_NOTHING ) /* fmul */
PICK( IT_BR, ITBranch, OP_IMMED, OP_NOTHING, OP_NOTHING, OP_NOTHING, OP_NOTHING ) /* bx */
PICK( IT_BR_COND, ITBranchCond, OP_IMMED, OP_IMMED, OP_IMMED, OP_NOTHING, OP_NOTHING ) /* bcx */
PICK( IT_BR_SPEC, ITBranchSpec, OP_IMMED, OP_IMMED, OP_NOTHING, OP_NOTHING, OP_NOTHING ) /* bcctr */
PICK( IT_CMP, ITCmp, (OP_CRF | OP_IMMED), (OP_IMMED | OP_GPR), OP_GPR, (OP_GPR | OP_NOTHING), OP_NOTHING ) /* cmp */
PICK( IT_CMP_IMM, ITCmpImmed, (OP_CRF | OP_IMMED), (OP_IMMED | OP_GPR), (OP_GPR | OP_IMMED), (OP_IMMED | OP_NOTHING), OP_NOTHING ) /* cmpi */
PICK( IT_CRB_BIN, ITCondBit, OP_CRB, OP_CRB, OP_CRB, OP_NOTHING, OP_NOTHING ) /* crand */
PICK( IT_CRF_UN, ITCondUn, OP_CRF, OP_CRF, OP_NOTHING, OP_NOTHING, OP_NOTHING ) /* mcrf */
PICK( IT_CRF_MCRXR, ITMcrxr, OP_CRF, OP_NOTHING, OP_NOTHING, OP_NOTHING, OP_NOTHING ) /* mcrxr */
PICK( IT_MFCRMSR, ITMfcr, OP_GPR, OP_NOTHING, OP_NOTHING, OP_NOTHING, OP_NOTHING ) /* mfcr */
PICK( IT_MFFS, ITMffs, OP_FPR, OP_NOTHING, OP_NOTHING, OP_NOTHING, OP_NOTHING ) /* mffsx */
PICK( IT_MFSPR, ITMfspr, OP_GPR, OP_IMMED, OP_NOTHING, OP_NOTHING, OP_NOTHING ) /* mfspr */
PICK( IT_MFSR, ITMfsr, OP_GPR, OP_IMMED, OP_NOTHING, OP_NOTHING, OP_NOTHING ) /* mfsr */
PICK( IT_MFSRIN, ITMfsrin, OP_GPR, OP_GPR, OP_NOTHING, OP_NOTHING, OP_NOTHING ) /* mfsrin*/
PICK( IT_MFTB, ITMftb, OP_GPR, OP_IMMED, OP_NOTHING, OP_NOTHING, OP_NOTHING ) /* mftb */
PICK( IT_MTCRF, ITMtcrf, OP_IMMED, OP_GPR, OP_NOTHING, OP_NOTHING, OP_NOTHING ) /* mtcrf */
PICK( IT_MTFSB, ITMtfsb, OP_CRB, OP_NOTHING, OP_NOTHING, OP_NOTHING, OP_NOTHING ) /* mtfsb */
PICK( IT_MTFSF, ITMtfsf, OP_IMMED, OP_FPR, OP_NOTHING, OP_NOTHING, OP_NOTHING ) /* mtfsf */
PICK( IT_MTFSF_IMM, ITMtfsfImmed, OP_CRF, OP_IMMED, OP_NOTHING, OP_NOTHING, OP_NOTHING ) /* mtfsfi*/
PICK( IT_MTSPR, ITMtspr, OP_IMMED, OP_GPR, OP_NOTHING, OP_NOTHING, OP_NOTHING ) /* mtspr */
PICK( IT_MTSR, ITMtsr, OP_IMMED, OP_GPR, OP_NOTHING, OP_NOTHING, OP_NOTHING ) /* mtsr */
PICK( IT_DC, ITDc, OP_GPR, OP_GPR, OP_NOTHING, OP_NOTHING, OP_NOTHING ) /* dcbf */
PICK( IT_EIEIO, ITEieio, OP_NOTHING, OP_NOTHING, OP_NOTHING, OP_NOTHING, OP_NOTHING ) /* eieio */
PICK( IT_FCTID, ITFctid, OP_FPR, OP_FPR, OP_NOTHING, OP_NOTHING, OP_NOTHING ) /* fctid */
PICK( IT_LS, ITLdStr, OP_GPR, OP_REG_INDIRECT, OP_NOTHING, OP_NOTHING, OP_NOTHING ) /* lbz */
PICK( IT_LS_INDEX, ITLdStrIndex, OP_GPR, OP_GPR, OP_GPR, OP_NOTHING, OP_NOTHING ) /* lbzux */
PICK( IT_LS_FP, ITLdStrFP, OP_FPR, OP_REG_INDIRECT, OP_NOTHING, OP_NOTHING, OP_NOTHING ) /* lfd */
PICK( IT_LS_INDEX_FP, ITLdStrIndexFP, OP_FPR, OP_GPR, OP_GPR, OP_NOTHING, OP_NOTHING ) /* lfdux */
PICK( IT_LSWI, ITLswi, OP_GPR, OP_GPR, OP_IMMED, OP_NOTHING, OP_NOTHING ) /* lswi */
PICK( IT_SHIFT, ITShift, OP_GPR, OP_GPR, OP_IMMED, OP_NOTHING, OP_NOTHING ) /* sliqx */
PICK( IT_SHIFT_IMM, ITShiftImmed, OP_GPR, OP_GPR, OP_IMMED, OP_IMMED, OP_IMMED ) /* rlwimi*/
PICK( IT_SHIFT_INDEX, ITShiftIndex, OP_GPR, OP_GPR, OP_GPR, OP_IMMED, OP_IMMED ) /* rlwnmx*/
PICK( IT_TLBIE, ITTlbie, OP_GPR, OP_NOTHING, OP_NOTHING, OP_NOTHING, OP_NOTHING ) /* tlbie */
PICK( IT_TRAP, ITTrap, OP_IMMED, OP_GPR, OP_GPR, OP_NOTHING, OP_NOTHING ) /* tw */
PICK( IT_TRAP_IMM, ITTrapImmed, OP_IMMED, OP_GPR, OP_IMMED, OP_NOTHING, OP_NOTHING ) /* twi */
PICK( IT_SM_LI, ITSMLoadImmed, OP_GPR, OP_IMMED, OP_NOTHING, OP_NOTHING, OP_NOTHING ) /* li */
PICK( IT_SM_LA, ITSMLoadAddr, OP_GPR, OP_REG_INDIRECT, OP_NOTHING, OP_NOTHING, OP_NOTHING ) /* la */
PICK( IT_SM_SUBI, ITSMSubImmed, OP_GPR, OP_GPR, OP_IMMED, OP_NOTHING, OP_NOTHING ) /* subi */
PICK( IT_SM_MR, ITSMMovReg, OP_GPR, OP_GPR, OP_NOTHING, OP_NOTHING, OP_NOTHING ) /* mr */
PICK( IT_SM_B_C_ICC, ITSMBCIcc, (OP_CRF | OP_IMMED), (OP_NOTHING | OP_IMMED), OP_NOTHING, OP_NOTHING, OP_NOTHING ) /* blt */
PICK( IT_SM_B_C, ITSMBC, (OP_CRF | OP_BI | OP_IMMED), (OP_NOTHING | OP_IMMED), OP_NOTHING, OP_NOTHING, OP_NOTHING ) /* bdnz */
PICK( IT_SM_B_SP_ICC, ITSMBSpecIcc, (OP_CRF | OP_NOTHING), OP_NOTHING, OP_NOTHING, OP_NOTHING, OP_NOTHING ) /* bltlr */
PICK( IT_SM_B_SP, ITSMBSpec, (OP_CRF | OP_BI | OP_IMMED | OP_NOTHING), OP_NOTHING, OP_NOTHING, OP_NOTHING, OP_NOTHING ) /* bdnzlr*/
PICK( IT_SM_CMPWI, ITSMCmpwi, (OP_CRF | OP_GPR), (OP_GPR | OP_IMMED), (OP_IMMED | OP_NOTHING), OP_NOTHING, OP_NOTHING ) /* cmpwi */
PICK( IT_SM_CMPW, ITSMCmpw, (OP_CRF | OP_GPR), OP_GPR, (OP_GPR | OP_NOTHING), OP_NOTHING, OP_NOTHING ) /* cmpw */
PICK( IT_SM_EXTLWI, ITSMExtlwi, OP_GPR, OP_GPR, OP_IMMED, OP_IMMED, OP_NOTHING ) /* extlwi*/
PICK( IT_SM_SRWI, ITSMSrwi, OP_GPR, OP_GPR, OP_IMMED, OP_NOTHING, OP_NOTHING ) /* srwi */
PICK( IT_SM_ROTLW, ITSMRotlw, OP_GPR, OP_GPR, OP_GPR, OP_NOTHING, OP_NOTHING ) /* rotlw */
PICK( IT_SM_INSLW, ITSMInslw, OP_GPR, OP_GPR, OP_IMMED, OP_IMMED, OP_NOTHING ) /* inslw */
PICK( IT_SM_TRAP_ANY, ITSMTrapUncond, OP_NOTHING, OP_NOTHING, OP_NOTHING, OP_NOTHING, OP_NOTHING ) /* trap */
PICK( IT_SM_TRAP, ITSMTrap, OP_GPR, OP_GPR, OP_NOTHING, OP_NOTHING, OP_NOTHING ) /* twlt */
PICK( IT_SM_TRAPI, ITSMTrapImmed, OP_GPR, OP_IMMED, OP_NOTHING, OP_NOTHING, OP_NOTHING ) /* twlti */
PICK( IT_SM_MOV_SPR, ITSMMovSpr, OP_GPR, OP_NOTHING, OP_NOTHING, OP_NOTHING, OP_NOTHING ) /* mtxer */
PICK( IT_SM_MTSPRN, ITSMMtsprN, OP_IMMED, OP_GPR, OP_NOTHING, OP_NOTHING, OP_NOTHING ) /* mtsprg*/
PICK( IT_SM_MFSPRN, ITSMMfsprN, OP_GPR, OP_IMMED, OP_NOTHING, OP_NOTHING, OP_NOTHING ) /* mfsprg*/
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?