亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? instruction.cc

?? Linux下比較早的基于命令行的DVD播放器
?? CC
?? 第 1 頁 / 共 2 頁
字號:
//// Copyright (c) 2002 by Istv醤 V醨adi//// This file is part of dxr3Player, a DVD player written specifically // for the DXR3 (aka Hollywood+) decoder card.// This program is free software; you can redistribute it and/or modify// it under the terms of the GNU General Public License as published by// the Free Software Foundation; either version 2 of the License, or// (at your option) any later version.//// This program is distributed in the hope that it will be useful,// but WITHOUT ANY WARRANTY; without even the implied warranty of// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the// GNU General Public License for more details.//// You should have received a copy of the GNU General Public License// along with this program; if not, write to the Free Software// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA//------------------------------------------------------------------------------#include "Instruction.h"//------------------------------------------------------------------------------using dvd::vm::Operand;using dvd::vm::Instruction;//------------------------------------------------------------------------------void Operand::printHex(FILE* f) const{    fprintf(f, "%02x %02x", (unsigned)high, (unsigned)low);}//------------------------------------------------------------------------------//------------------------------------------------------------------------------void Instruction::printRegister(FILE* f, unsigned registerNumber){    if (registerNumber<=15) {        fprintf(f, "GPR[%02x]", registerNumber);    } else if (registerNumber>=128 & registerNumber<=151) {        fprintf(f, "SPR[%02x]", registerNumber-128);    } else {        fprintf(f, "<Invalid register #%02x>", registerNumber);    }}//------------------------------------------------------------------------------void Instruction::printComparison(FILE* f, cmpOp_t cmpOp){    switch(cmpOp) {      case Instruction::BC:        fprintf(f, " & ");        break;      case Instruction::EQ:        fprintf(f, " == ");        break;      case Instruction::NE:        fprintf(f, " != ");        break;      case Instruction::GE:        fprintf(f, " >= ");        break;      case Instruction::GT:        fprintf(f, " > ");        break;      case Instruction::LE:        fprintf(f, " <= ");        break;      case Instruction::LT:        fprintf(f, " < ");        break;      default:        fprintf(f, "<Invalid comparison operator: %u>",                (unsigned)cmpOp);        break;    }}//------------------------------------------------------------------------------void Instruction::printHighlightButton(FILE* f, unsigned button){    if (button!=0) {        fprintf(f, ", button=%u", button);    }}//------------------------------------------------------------------------------bool Instruction::printCondition(FILE* f, cmpOp_t cmpOp,                                 unsigned value1,                                 bool isDirect2, unsigned value2){    if (cmpOp==CMP_NONE) return false;        fprintf(f, "[ ");    printRegister(f, value1);            printComparison(f, cmpOp);            if (isDirect2) fprintf(f, "0x%04x", value2);    else printRegister(f, value2);            fprintf(f, "] ");    return true;}//------------------------------------------------------------------------------//------------------------------------------------------------------------------void Instruction::printHex(FILE* f) const{    const unsigned char* bytes = reinterpret_cast<const unsigned char*>(this);        fprintf(f, "%02x %02x ", (unsigned)bytes[0], (unsigned)bytes[1]);    operand1.printHex(f); fprintf(f, " ");    operand2.printHex(f); fprintf(f, " ");    operand3.printHex(f);}//------------------------------------------------------------------------------void Instruction::printAssembly(FILE* f) const{    switch(getType()) {      case SPECIAL:        printSpecial(f);        break;      case BRANCH:        printBranch(f);        break;      case SETSYSREG:        printSetSysReg(f);        break;      case SET:        printSet(f);        break;      case SETCLNK:        printSetCLnk(f);        break;      case CSETCLNK:        printCSetCLnk(f);        break;      case CMPSETLNK:        printCmpSetLnk(f);        break;      default:        fprintf(f, "<Invalid instruction type: %u\n", type);        break;    }};//------------------------------------------------------------------------------void Instruction::printSpecial(FILE* f) const{    printSpecialCondition(f);    switch(getSpecCmd()) {      case BREAK:        fprintf(f, "Break");        break;      case GOTO:        fprintf(f, "Goto %u", operand3.getLineNumber());        break;      case SETTMPPLVL:        fprintf(f, "SetTmpPML %u, %u",                operand3.getLVL(),                operand3.getLineNumber());        break;      case NOP:        fprintf(f, "NOP");        break;      default:        fprintf(f, "<Invalid special command: %u>", (unsigned)getSpecCmd());        break;    }}//------------------------------------------------------------------------------void Instruction::printBranch(FILE* f) const{    if (isDirect()) {        printJumpCall(f);    } else {        printLink(f);    }}//------------------------------------------------------------------------------void Instruction::printLinkUnconditionally(FILE* f) const{    switch(getLinkCmd()) {      case LINKSUBSET:        printLinkSubset(f);        break;      case LINKPGCN:        fprintf(f, "LinkPGCN %u", operand3.getPGCN());        break;      case Instruction::LINKPTTN:        fprintf(f, "LinkPTTN %u", operand3.getPTTN());        printHighlightButton(f, operand3.getHLBN());        break;      case Instruction::LINKPGN:        fprintf(f, "LinkPGN %u", operand3.getPGN());        printHighlightButton(f, operand3.getHLBN());        break;      case Instruction::LINKCN:        fprintf(f, "LinkCN %u", operand3.getCN());        printHighlightButton(f, operand3.getHLBN());        break;      case Instruction::LINK_NOP:        fprintf(f, "NOP");        break;      default:        fprintf(f, "<Invalid link command: %u>",                (unsigned)getLinkCmd());        break;    }}//------------------------------------------------------------------------------void Instruction::printLink(FILE* f) const{    printLinkCondition(f);    printLinkUnconditionally(f);}//------------------------------------------------------------------------------void Instruction::printLinkSubset(FILE* f) const{    switch(operand3.getLinkType()) {      case Operand3::TOPCELL:        fprintf(f, "LinkTopCell");        break;      case Operand3::NEXTCELL:        fprintf(f, "LinkNextCell");        break;      case Operand3::PREVCELL:        fprintf(f, "LinkPrevCell");        break;      case Operand3::TOPPG:        fprintf(f, "LinkTopPG");        break;      case Operand3::NEXTPG:        fprintf(f, "LinkNextPG");        break;      case Operand3::PREVPG:        fprintf(f, "LinkPrevPG");        break;      case Operand3::TOPPGC:        fprintf(f, "LinkTopPGC");        break;      case Operand3::NEXTPGC:        fprintf(f, "LinkNextPGC");        break;      case Operand3::PREVPGC:        fprintf(f, "LinkPrevPGC");        break;      case Operand3::GOUPPGC:        fprintf(f, "LinkGoUpPGC");        break;      case Operand3::TAILPGC:        fprintf(f, "LinkTailPGC");        break;      case Operand3::RSM:        fprintf(f, "RSM");        break;      case Operand3::LINK_NOP:        fprintf(f, "NOP");        break;      default:        fprintf(f, "<Invalid link subset type: %u>",                (unsigned)operand3.getLinkType());        break;    }    printHighlightButton(f, operand3.getHLBN());}//------------------------------------------------------------------------------void Instruction::printJumpCall(FILE* f) const{    printJumpCallCondition(f);        switch(getJumpCallCmd()) {      case EXIT:        fprintf(f, "Exit");        break;      case JUMPTT:        fprintf(f, "JumpTT %u", operand2.getTTN());        break;      case JUMPVTS_TT:        fprintf(f, "JumpVTS_TT %u", operand2.getTTN());        break;      case JUMPVTS_PTT:        fprintf(f, "JumpVTS_PTT %u, %u",                operand2.getTTN(), operand1.getPTTN());        break;      case JUMPSS:        printJumpSS(f);        break;      case CALLSS:        printCallSS(f);        break;      case NOP:        fprintf(f, "NOP");        break;      default:        fprintf(f, "<Invalid jump/call command: %u>",                (unsigned)getJumpCallCmd());        break;    }}//------------------------------------------------------------------------------void Instruction::printJumpCallSS(FILE* f, bool isJump) const{    switch(operand2.getJumpCallType()) {      case Operand2::FP:        fprintf(f, "FP");        break;      case Operand2::VMGM_MENU:        fprintf(f, "VMGM_MENU %u", operand2.getMenu());        break;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
2022国产精品视频| 美女一区二区三区| 精品一区二区三区免费观看| 国产成人精品三级麻豆| 欧美日韩精品综合在线| 中文字幕一区二区三区四区| 蜜臀va亚洲va欧美va天堂| 91久久精品一区二区三区| 久久久国产午夜精品| 麻豆91精品视频| 欧美酷刑日本凌虐凌虐| 亚洲欧美成人一区二区三区| 国产99久久久国产精品潘金网站| 日韩欧美视频一区| 日韩电影在线一区二区三区| jvid福利写真一区二区三区| 久久久久久久久久久电影| 免播放器亚洲一区| 欧美精品色一区二区三区| 国产精品传媒视频| 成人av在线资源网站| xfplay精品久久| 国产在线一区二区综合免费视频| 777奇米四色成人影色区| 伊人婷婷欧美激情| 色狠狠色狠狠综合| 亚洲激情校园春色| 91毛片在线观看| 《视频一区视频二区| 成人高清免费观看| 日韩美女视频一区二区| 大桥未久av一区二区三区中文| 亚洲精品一区二区三区福利| 蜜桃av一区二区在线观看 | 99国产精品国产精品久久| 久久婷婷成人综合色| 国产精品一区二区在线看| 久久久久国产精品麻豆ai换脸| 国产在线精品一区在线观看麻豆| 欧美一区二区免费| 国模套图日韩精品一区二区| 久久久亚洲精品石原莉奈| 粉嫩aⅴ一区二区三区四区五区| 久久亚洲综合色一区二区三区| 国产乱子伦视频一区二区三区| 国产日韩av一区| 93久久精品日日躁夜夜躁欧美| 亚洲精品成a人| 日韩一区二区精品在线观看| 狠狠色综合日日| 国产嫩草影院久久久久| 成人av网站免费| 亚洲午夜精品网| 欧美大胆一级视频| 盗摄精品av一区二区三区| 亚洲欧美日韩在线不卡| 制服.丝袜.亚洲.中文.综合| 久久99国产精品久久99果冻传媒| 国产女同性恋一区二区| 欧美自拍偷拍午夜视频| 久久se这里有精品| 亚洲美女区一区| 欧美电视剧免费全集观看| 国产不卡免费视频| 亚洲国产欧美一区二区三区丁香婷| 欧美一卡2卡3卡4卡| 成人禁用看黄a在线| 午夜精品福利一区二区蜜股av| 精品国产凹凸成av人网站| 91黄色免费版| 国产精品综合一区二区| 亚洲一线二线三线视频| 久久久久久影视| 欧美日韩国产天堂| 99久久国产免费看| 蜜桃视频一区二区三区在线观看| 亚洲日穴在线视频| 欧美精品一区男女天堂| 在线观看欧美日本| 岛国一区二区在线观看| 日韩成人dvd| 亚洲综合视频在线| 国产精品久久一卡二卡| 这里只有精品电影| 一本大道久久精品懂色aⅴ| 秋霞成人午夜伦在线观看| 亚洲欧美日韩国产另类专区| 久久综合成人精品亚洲另类欧美| 欧美日韩一级视频| 日本伦理一区二区| 成年人午夜久久久| 国产一区二区日韩精品| 日韩精品亚洲专区| 一区二区三区小说| 国产精品剧情在线亚洲| 久久综合五月天婷婷伊人| 欧美精品在线观看播放| 日本韩国一区二区三区视频| 丁香婷婷综合激情五月色| 九一九一国产精品| 视频在线观看一区| 亚洲成av人片www| 亚洲高清免费视频| 亚洲一区二区欧美激情| 亚洲在线成人精品| 亚洲一区二区三区四区在线观看| 亚洲免费观看高清| 亚洲综合色区另类av| 亚洲美女电影在线| 亚洲精品欧美综合四区| 最新不卡av在线| 中文字幕亚洲一区二区va在线| 国产亚洲va综合人人澡精品| 国产午夜精品一区二区三区四区| 亚洲精品一区二区三区香蕉| 精品国产一区二区精华| www欧美成人18+| 日本一区二区三区在线观看| 国产色综合一区| 国产精品天美传媒| 亚洲天堂精品在线观看| 亚洲免费在线播放| 天堂精品中文字幕在线| 日本vs亚洲vs韩国一区三区 | 高清国产午夜精品久久久久久| 国产成人小视频| 99在线精品一区二区三区| 一本久久a久久精品亚洲| 欧美一a一片一级一片| 91精品久久久久久蜜臀| 精品国产sm最大网站免费看| 久久久久高清精品| 亚洲精品免费电影| 视频一区二区中文字幕| 黄色日韩三级电影| 色呦呦日韩精品| 欧美丰满高潮xxxx喷水动漫| 日韩欧美一二三区| 国产精品初高中害羞小美女文| 亚洲线精品一区二区三区| 免费成人在线影院| 成人av电影在线播放| 欧美综合色免费| 国产亚洲欧洲997久久综合 | 精品三级av在线| 亚洲国产精品二十页| 亚洲美女一区二区三区| 美女视频黄免费的久久 | 国内精品视频一区二区三区八戒| 成人一区二区三区在线观看| 日本丰满少妇一区二区三区| 日韩精品影音先锋| 亚洲品质自拍视频| 国产揄拍国内精品对白| 色婷婷久久久综合中文字幕| 日韩欧美在线影院| 一区二区三区视频在线看| 黄网站免费久久| 欧美网站大全在线观看| 欧美激情自拍偷拍| 蜜桃av一区二区三区| 99精品视频一区| 精品久久久久香蕉网| 综合网在线视频| 国产精品一区二区你懂的| 欧美日韩日日摸| 自拍偷拍国产亚洲| 国产不卡视频在线播放| 7777精品伊人久久久大香线蕉 | 91欧美一区二区| 国产午夜一区二区三区| 婷婷综合五月天| 在线一区二区观看| 久久精品亚洲乱码伦伦中文| 日韩精品每日更新| 91国产免费观看| 中文字幕综合网| 大桥未久av一区二区三区中文| 精品久久久网站| 日韩av电影免费观看高清完整版 | 日韩欧美中文字幕公布| 一区二区三区产品免费精品久久75| 懂色一区二区三区免费观看| 精品国产成人在线影院| 青青青伊人色综合久久| 欧美久久久久久蜜桃| 亚洲第四色夜色| 欧美四级电影在线观看| 亚洲精品v日韩精品| 91麻豆成人久久精品二区三区| 国产精品高潮呻吟| 波多野结衣91| 中文字幕在线不卡| 99久久er热在这里只有精品15| 日本一区二区三区视频视频| 国产精品一区二区91| 国产视频不卡一区| 成人精品电影在线观看| 国产精品女主播av| 色视频成人在线观看免|