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

📄 armassemblerproxy.cpp

📁 Android 一些工具
💻 CPP
字号:
/* libs/pixelflinger/codeflinger/ARMAssemblerProxy.cpp**** Copyright 2006, The Android Open Source Project**** Licensed under the Apache License, Version 2.0 (the "License"); ** you may not use this file except in compliance with the License. ** You may obtain a copy of the License at ****     http://www.apache.org/licenses/LICENSE-2.0 **** Unless required by applicable law or agreed to in writing, software ** distributed under the License is distributed on an "AS IS" BASIS, ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ** See the License for the specific language governing permissions and ** limitations under the License.*/#include <stdint.h>#include <sys/types.h>#include "codeflinger/ARMAssemblerProxy.h"namespace android {// ----------------------------------------------------------------------------ARMAssemblerProxy::ARMAssemblerProxy()    : mTarget(0){}ARMAssemblerProxy::ARMAssemblerProxy(ARMAssemblerInterface* target)    : mTarget(target){}ARMAssemblerProxy::~ARMAssemblerProxy(){    delete mTarget;}void ARMAssemblerProxy::setTarget(ARMAssemblerInterface* target){    delete mTarget;    mTarget = target;}void ARMAssemblerProxy::reset() {    mTarget->reset();}int ARMAssemblerProxy::generate(const char* name) {    return mTarget->generate(name);}void ARMAssemblerProxy::disassemble(const char* name) {    return mTarget->disassemble(name);}void ARMAssemblerProxy::prolog() {    mTarget->prolog();}void ARMAssemblerProxy::epilog(uint32_t touched) {    mTarget->epilog(touched);}void ARMAssemblerProxy::comment(const char* string) {    mTarget->comment(string);}void ARMAssemblerProxy::dataProcessing( int opcode, int cc, int s,                                        int Rd, int Rn, uint32_t Op2){    mTarget->dataProcessing(opcode, cc, s, Rd, Rn, Op2);}void ARMAssemblerProxy::MLA(int cc, int s, int Rd, int Rm, int Rs, int Rn) {    mTarget->MLA(cc, s, Rd, Rm, Rs, Rn);}void ARMAssemblerProxy::MUL(int cc, int s, int Rd, int Rm, int Rs) {    mTarget->MUL(cc, s, Rd, Rm, Rs);}void ARMAssemblerProxy::UMULL(int cc, int s,            int RdLo, int RdHi, int Rm, int Rs) {    mTarget->UMULL(cc, s, RdLo, RdHi, Rm, Rs); }void ARMAssemblerProxy::UMUAL(int cc, int s,            int RdLo, int RdHi, int Rm, int Rs) {    mTarget->UMUAL(cc, s, RdLo, RdHi, Rm, Rs); }void ARMAssemblerProxy::SMULL(int cc, int s,            int RdLo, int RdHi, int Rm, int Rs) {    mTarget->SMULL(cc, s, RdLo, RdHi, Rm, Rs); }void ARMAssemblerProxy::SMUAL(int cc, int s,            int RdLo, int RdHi, int Rm, int Rs) {    mTarget->SMUAL(cc, s, RdLo, RdHi, Rm, Rs); }void ARMAssemblerProxy::B(int cc, uint32_t* pc) {    mTarget->B(cc, pc); }void ARMAssemblerProxy::BL(int cc, uint32_t* pc) {    mTarget->BL(cc, pc); }void ARMAssemblerProxy::BX(int cc, int Rn) {    mTarget->BX(cc, Rn); }void ARMAssemblerProxy::label(const char* theLabel) {    mTarget->label(theLabel);}void ARMAssemblerProxy::B(int cc, const char* label) {    mTarget->B(cc, label);}void ARMAssemblerProxy::BL(int cc, const char* label) {    mTarget->BL(cc, label);}uint32_t* ARMAssemblerProxy::pcForLabel(const char* label) {    return mTarget->pcForLabel(label);}void ARMAssemblerProxy::LDR(int cc, int Rd, int Rn, uint32_t offset) {    mTarget->LDR(cc, Rd, Rn, offset);}void ARMAssemblerProxy::LDRB(int cc, int Rd, int Rn, uint32_t offset) {    mTarget->LDRB(cc, Rd, Rn, offset);}void ARMAssemblerProxy::STR(int cc, int Rd, int Rn, uint32_t offset) {    mTarget->STR(cc, Rd, Rn, offset);}void ARMAssemblerProxy::STRB(int cc, int Rd, int Rn, uint32_t offset) {    mTarget->STRB(cc, Rd, Rn, offset);}void ARMAssemblerProxy::LDRH(int cc, int Rd, int Rn, uint32_t offset) {    mTarget->LDRH(cc, Rd, Rn, offset);}void ARMAssemblerProxy::LDRSB(int cc, int Rd, int Rn, uint32_t offset) {    mTarget->LDRSB(cc, Rd, Rn, offset);}void ARMAssemblerProxy::LDRSH(int cc, int Rd, int Rn, uint32_t offset) {    mTarget->LDRSH(cc, Rd, Rn, offset);}void ARMAssemblerProxy::STRH(int cc, int Rd, int Rn, uint32_t offset) {    mTarget->STRH(cc, Rd, Rn, offset);}void ARMAssemblerProxy::LDM(int cc, int dir, int Rn, int W, uint32_t reg_list) {    mTarget->LDM(cc, dir, Rn, W, reg_list);}void ARMAssemblerProxy::STM(int cc, int dir, int Rn, int W, uint32_t reg_list) {    mTarget->STM(cc, dir, Rn, W, reg_list);}void ARMAssemblerProxy::SWP(int cc, int Rn, int Rd, int Rm) {    mTarget->SWP(cc, Rn, Rd, Rm);}void ARMAssemblerProxy::SWPB(int cc, int Rn, int Rd, int Rm) {    mTarget->SWPB(cc, Rn, Rd, Rm);}void ARMAssemblerProxy::SWI(int cc, uint32_t comment) {    mTarget->SWI(cc, comment);}void ARMAssemblerProxy::PLD(int Rn, uint32_t offset) {    mTarget->PLD(Rn, offset);}void ARMAssemblerProxy::CLZ(int cc, int Rd, int Rm) {    mTarget->CLZ(cc, Rd, Rm);}void ARMAssemblerProxy::QADD(int cc, int Rd, int Rm, int Rn) {    mTarget->QADD(cc, Rd, Rm, Rn);}void ARMAssemblerProxy::QDADD(int cc, int Rd, int Rm, int Rn) {    mTarget->QDADD(cc, Rd, Rm, Rn);}void ARMAssemblerProxy::QSUB(int cc, int Rd, int Rm, int Rn) {    mTarget->QSUB(cc, Rd, Rm, Rn);}void ARMAssemblerProxy::QDSUB(int cc, int Rd, int Rm, int Rn) {    mTarget->QDSUB(cc, Rd, Rm, Rn);}void ARMAssemblerProxy::SMUL(int cc, int xy, int Rd, int Rm, int Rs) {    mTarget->SMUL(cc, xy, Rd, Rm, Rs);}void ARMAssemblerProxy::SMULW(int cc, int y, int Rd, int Rm, int Rs) {    mTarget->SMULW(cc, y, Rd, Rm, Rs);}void ARMAssemblerProxy::SMLA(int cc, int xy, int Rd, int Rm, int Rs, int Rn) {    mTarget->SMLA(cc, xy, Rd, Rm, Rs, Rn);}void ARMAssemblerProxy::SMLAL(  int cc, int xy,                                int RdHi, int RdLo, int Rs, int Rm) {    mTarget->SMLAL(cc, xy, RdHi, RdLo, Rs, Rm);}void ARMAssemblerProxy::SMLAW(int cc, int y, int Rd, int Rm, int Rs, int Rn) {    mTarget->SMLAW(cc, y, Rd, Rm, Rs, Rn);}}; // namespace android

⌨️ 快捷键说明

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