void HospitalisationPay::print( QPrinter* printer ) { QPainter painter( printer ); int w = printer->pageRect().width(); int h = printer->pageRect().height(); QRect page( w/5, h/15-h/20, w, h ); QRect page2( w/9, h/9-h/20, w, h ); QRect page3( w/11, h/10-h/20, 5*w/6, h/8); QRect page4( w/11, 9*h/40-h/20, 5*w/6, h/16); QRect page5( w/9, 9*h/40-h/20, w, h/10); QRect page6( w/11, 23*h/80-h/20, 5*w/6, h/20); QRect page7( w/9, 24*h/80-h/20, w, h/10); QFont font = painter.font(); font.setPixelSize( (w+h) / 100 ); painter.setFont( font ); if (Isrefund) { painter.drawText( page, Qt::AlignTop | Qt::AlignLeft, QString::fromLocal8Bit(" 三河市燕郊镇卫生院退款单") ); double amount=ui.amountEdit->text().toDouble(); Capital*capital = new Capital; QString strcaptial =capital->NumToChineseStr(amount);//; QString str =QString::fromLocal8Bit("退款单号:")+ui.sheetNoEdit->text()+" "+QString::fromLocal8Bit("住院号:")+ui.hospitalNocomboBox->currentText()+" "+QString::fromLocal8Bit("退款日期:")+ui.dateTimeEdit->text()+" \n\n"+QString::fromLocal8Bit("姓名:")+ui.nameEdit->text()+" "+QString::fromLocal8Bit("票号:")+" "+QString::fromLocal8Bit("住院日期:")+ui.registrydateEdit->text()+"\n\n"+QString::fromLocal8Bit("退款方式:")+ui.chargemethodcomboBox->currentText()+" "+QString::fromLocal8Bit("金额:")+"-"+ui.amountEdit->text()+" "+QString::fromLocal8Bit("大写:")+QString::fromLocal8Bit("负")+strcaptial; painter.drawText( page2, Qt::AlignTop | Qt::AlignLeft, str); painter.drawText( page, Qt::AlignBottom | Qt::AlignLeft, QDateTime::currentDateTime().toString( Qt::DefaultLocaleShortDate ) ); painter.drawRect(page3); painter.drawRect(page4); str ="\n"+QString::fromLocal8Bit("制单:")+ui.sheetmakerEdit->text()+" "+QString::fromLocal8Bit("打印时间:")+QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss")+" "+QString::fromLocal8Bit("收款人:")+ui.payerEdit->text(); painter.drawText( page5, Qt::AlignTop | Qt::AlignLeft, str); painter.drawRect(page6); str =QString::fromLocal8Bit("此乃临时收据,不作报销凭证,请妥善保存,出院结算时交回。"); painter.drawText( page7, Qt::AlignTop | Qt::AlignLeft, str); page.adjust( w/20, h/20, -w/20, -h/20 ); return; } painter.drawText( page, Qt::AlignTop | Qt::AlignLeft, QString::fromLocal8Bit(" 三河市燕郊镇卫生院收款单") ); double amount=ui.amountEdit->text().toDouble(); //string strtemp=""; Capital*capital = new Capital; QString strcaptial =capital->NumToChineseStr(amount);//; QString str =QString::fromLocal8Bit("收款单号:")+ui.sheetNoEdit->text()+" "+QString::fromLocal8Bit("住院号:")+ui.hospitalNocomboBox->currentText()+" "+QString::fromLocal8Bit("收费日期:")+ui.dateTimeEdit->text()+" \n\n"+QString::fromLocal8Bit("姓名:")+ui.nameEdit->text()+" "+QString::fromLocal8Bit("票号:")+" "+QString::fromLocal8Bit("住院日期:")+ui.registrydateEdit->text()+"\n\n"+QString::fromLocal8Bit("收款方式:")+ui.chargemethodcomboBox->currentText()+" "+QString::fromLocal8Bit("金额:")+ui.amountEdit->text()+" "+QString::fromLocal8Bit("大写:")+strcaptial; painter.drawText( page2, Qt::AlignTop | Qt::AlignLeft, str); painter.drawText( page, Qt::AlignBottom | Qt::AlignLeft, QDateTime::currentDateTime().toString( Qt::DefaultLocaleShortDate ) ); painter.drawRect(page3); painter.drawRect(page4); str ="\n"+QString::fromLocal8Bit("制单:")+ui.sheetmakerEdit->text()+" "+QString::fromLocal8Bit("打印时间:")+QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss")+" "+QString::fromLocal8Bit("交款人:")+ui.payerEdit->text(); painter.drawText( page5, Qt::AlignTop | Qt::AlignLeft, str); painter.drawRect(page6); str =QString::fromLocal8Bit("此乃临时收据,不作报销凭证,请妥善保存,出院结算时交回。"); painter.drawText( page7, Qt::AlignTop | Qt::AlignLeft, str); page.adjust( w/20, h/20, -w/20, -h/20 ); }
void Hospitalisationprint::print( QPrinter* printer ) { QPainter painter( printer ); int w = printer->pageRect().width(); int h = printer->pageRect().height(); QRect page2( 36*w/210, 17*h/297, w, h ); QRect page3( 35*w/210, 23*h/297, w, h ); QRect page4( 34*w/210, 28*h/297, 5*w/6, h/8); QRect page5( 30*w/210, 35*h/297, 5*w/6, h/4); QRect page6(110*w/210, 35*h/297, 5*w/6, h/4); QRect page7( 42*w/210, 72*h/297, 5*w/6, h/8); QRect page8( 115*w/210, 98*h/297, 5*w/6, h/8); QFont font = painter.font(); font.setPointSize(8); painter.setFont( font ); QString str =QString::fromLocal8Bit("三河市燕郊镇卫生院")+" "+ui.departmentlabel->text()+" "+ui.sheetnolabel->text(); painter.drawText(page2, Qt::AlignTop | Qt::AlignLeft, str); str =ui.hospitalisationNolabel->text()+" "+ui.startyearlabel->text()+" "+ui.startmonthlabel->text()+" "+ui.startdaylabel->text() + " "+ui.endyearlabel->text()+" "+ui.endmonthlabel->text()+" "+ui.enddaylabel->text()+" "+ui.deltadaylabel->text(); painter.drawText( page3, Qt::AlignTop | Qt::AlignLeft, str); str =ui.namelabel->text()+" "+ui.genderlabel->text()+" "+ui.insurancetypelabel->text()+" "+ui.insurancenolabel->text(); painter.drawText( page4, Qt::AlignTop | Qt::AlignLeft, str); int row = ui.tableWidget->rowCount(); str=""; for (int i =0;i<row;i++) { str =str+ui.tableWidget->item(i,0)->text()+" "+ui.tableWidget->item(i,1)->text()+"\n"; } // str =ui.dueincomeEdit->text()+"\n"+ui.dateTimeEdit->time().toString(); painter.drawText( page5, Qt::AlignTop | Qt::AlignLeft, str); row = ui.tableWidget_2->rowCount(); str=""; for (int i =0;i<row;i++) { str =str+ui.tableWidget_2->item(i,0)->text()+" "+ui.tableWidget_2->item(i,1)->text()+"\n"; } // str =ui.dueincomeEdit->text()+"\n"+ui.dateTimeEdit->time().toString(); painter.drawText( page6, Qt::AlignTop | Qt::AlignLeft, str); double amount=ui.totalfeelabel->text().toDouble(); Capital*capital = new Capital; QString strcaptial=capital->NumToChineseStr(amount);//=QString::fromLocal8Bit(.c_str());; str=""; str=strcaptial+" "+ui.totalfeelabel->text(); painter.drawText( page7, Qt::AlignTop | Qt::AlignLeft, str); str=ui.sheetmakerlabel->text()+" "+ui.currentyearlabel->text()+" "+ui.currentmonthlabel->text()+" "+ui.currentdaylabel->text(); painter.drawText( page8, Qt::AlignTop | Qt::AlignLeft, str); }
wmMenuWidget::wmMenuWidget( QWidget *parent, const char *name ) : QWidget( parent, name ){ QPopupMenu *file = new QPopupMenu; CHECK_PTR( file ); file->insertItem( "Run", this, SLOT(run()) ); file->insertItem( "Restart", this, SLOT(restart()) ); file->insertItem( "Exit", kapp , SLOT(quit()) ); view = new QPopupMenu; CHECK_PTR( view ); view->insertItem( "Page 1", this, SLOT(page1()) ); view->insertItem( "Page 2", this, SLOT(page2()) ); view->insertItem( "Page 3", this, SLOT(page3()) ); view->insertItem( "Page 4", this, SLOT(page4()) ); QPopupMenu *help = new QPopupMenu; CHECK_PTR( help ); help->insertItem( "KWM Help", this, SLOT(kwmhelp()) ); help->insertSeparator(); help->insertItem( "About", this, SLOT(about()) ); windows = new QPopupMenu; CHECK_PTR( help ); QPopupMenu *options = new QPopupMenu; CHECK_PTR( help ); int checkT = options->insertItem( "Transparent Move", this, SLOT(transpMove()) ); options->setItemChecked(checkT,TRUE); int checkO = options->insertItem( "Opaque Move", this, SLOT(opaqueMove()) ); options->insertItem( "Titlebar", this, SLOT(changeTitlebar()) ); // options->insertSeparator(); // int enableSO = options->insertItem( "Save Options", kapp, SLOT(saveOptions()) ); // options->setItemEnabled( enableSO, FALSE); menu = new QMenuBar( this ); CHECK_PTR( menu ); menu->insertItem( "File", file ); menu->insertItem( "View", view ); menu->insertItem( "Windows", windows ); menu->insertItem( "Options", options ); menu->insertSeparator(); menu->insertItem( "Help", help ); menu->setGeometry( 0, 0, 300, 22); setGeometry(0,0,308,28); } /* end wmMenuWidget::wmMenuWidget */
void PharmacyReceipt::print( QPrinter* printer ) { //// 创建打印页面的绘制对象 QPainter painter( printer ); int w = printer->pageRect().width(); int h = printer->pageRect().height(); QRect page( w/5, h/15, w, h ); QRect page2( w/4, h/8, w, h ); QRect page3( w/4, h/6, w, h ); QRect page4( 0, h/10, w, h ); // 根据页面大小设置适当的字体大小 QFont font = painter.font(); font.setPixelSize( (w+h) / 100 ); painter.setFont( font ); // 在页面角落绘制标签 painter.drawText( page, Qt::AlignTop | Qt::AlignLeft, QString::fromLocal8Bit(" 三河市燕郊镇卫生院") ); /*painter.drawText( page2, Qt::AlignTop | Qt::AlignLeft, QString::fromLocal8Bit("周文军") ); painter.drawText( page3, Qt::AlignTop | Qt::AlignLeft, QString::fromLocal8Bit("一般针疗费 次 1 10.00") ); painter.drawText( page4, Qt::AlignTop | Qt::AlignLeft, QString::fromLocal8Bit("六十九元九角整")); painter.drawText( page, Qt::AlignBottom | Qt::AlignLeft, QDateTime::currentDateTime().toString( Qt::DefaultLocaleShortDate ) );*/ // 绘制模拟数据 page.adjust( w/20, h/20, -w/20, -h/20 ); //m_scene->render( &painter, page ); //表格 /* QWidget *myForm=new QWidget(this); myForm->setObjectName(QString::fromUtf8("Form")); myForm->resize(500, 500); QTableWidget *tableWidget; tableWidget = new QTableWidget(myForm); tableWidget->setColumnCount(3); tableWidget->setRowCount(4); tableWidget->setObjectName(QString::fromUtf8("tableWidget")); tableWidget->setGeometry(QRect(0, 0,500, 500)); tableWidget->horizontalHeader()->setResizeMode(QHeaderView::Stretch); tableWidget->horizontalHeader()->setStyleSheet("QHeaderView::section {background-color:white;color: black;padding-left: 4px;border: 1px solid #6c6c6c;};" "color: white;padding-left: 4px;border: 1px solid #6c6c6c;}" "QHeaderView::section:checked{background-color: red;}"); */ QPixmap image; image=image.grabWidget(ui.tableWidget,-35,0,900, 1000); painter.drawPixmap(page4,image); //printTableWidget(ui.tableWidget,"preview",printer); }
Control::Control(QWidget *parent) : QDialog(parent), ui(new Ui::Control) { ui->setupUi(this); setWindowTitle("GSM管理界面"); out = new Dataout(0,"0",this); in = new DataIn(); ui->stackedWidget->setCurrentIndex(0); ui->stackedWidget_2->setCurrentIndex(0); QRegExp regExp("0?[.][0-9]+$"); ui->lineEdit->setValidator(new QRegExpValidator(regExp,this)); initTime(); addBTSname(); addCellID(); connect(ui->confirm,SIGNAL(clicked()),this,SLOT(data_in())); connect(ui->confirm_2,SIGNAL(clicked()),this,SLOT(data_out())); connect(ui->pushButton,SIGNAL(clicked()),this,SLOT(page1())); connect(ui->pushButton_2,SIGNAL(clicked()),this,SLOT(page2())); connect(ui->confirm_3,SIGNAL(clicked()),this,SLOT(queryBTS())); connect(ui->pushButton_3,SIGNAL(clicked()),this,SLOT(page3())); connect(ui->pushButton_4,SIGNAL(clicked()),this,SLOT(page4())); connect(ui->confirm_4,SIGNAL(clicked()),this,SLOT(queryCell())); connect(ui->pushButton_6,SIGNAL(clicked()),this,SLOT(bulkInsert())); connect(ui->pushButton_5,SIGNAL(clicked()),this,SLOT(page5())); connect(ui->pushButton_9,SIGNAL(clicked()),this,SLOT(reCalculateDatas())); connect(ui->pushButton_7,SIGNAL(clicked()),this,SLOT(page6())); connect(ui->pushButton_11,SIGNAL(clicked()),this,SLOT(printNeighbor())); connect(ui->pushButton_8,SIGNAL(clicked()),this,SLOT(page7())); connect(ui->pushButton_10,SIGNAL(clicked()),this,SLOT(findNeighbor())); connect(ui->pushButton_12,SIGNAL(clicked()),this,SLOT(findCellInfo())); connect(ui->pushButton_13,SIGNAL(clicked()),this,SLOT(page13())); connect(ui->pushButton_14,SIGNAL(clicked()),this,SLOT(page14())); connect(ui->pushButton_15,SIGNAL(clicked()),this,SLOT(page15())); connect(ui->pushButton_16,SIGNAL(clicked()),this,SLOT(page16())); connect(ui->pushButton_17,SIGNAL(clicked()),this,SLOT(page17())); connect(ui->pushButton_18,SIGNAL(clicked()),this,SLOT(page18())); connect(ui->pushButton_22,SIGNAL(clicked()),this,SLOT(action22())); connect(ui->pushButton_23,SIGNAL(clicked()),this,SLOT(action23())); }
int main(void) { uint8_t page = 100; system_init(); dog_Init(0); for(;;) { dog_StartPage(); do { switch(page) { case 100: page_intro(); break; case 0: page0(); break; case 1: page1(); break; case 2: page2(); break; case 3: page3(); break; case 4: page4(); break; case 5: page5(); break; } } while( dog_NextPage() ); dog_Delay(1500); page++; if ( page >= 6 ) page = 0; } }
VideoGeneralSettings::VideoGeneralSettings() { ConfigPage::PageList pages; VConfigPage page1(pages, false); page1->addChild(VideoStartupDirectory()); page1->addChild(TrailerDirectory()); page1->addChild(VideoArtworkDirectory()); page1->addChild(VideoScreenshotDirectory()); page1->addChild(VideoBannerDirectory()); page1->addChild(VideoFanartDirectory()); VConfigPage page2(pages, false); page2->addChild(SetOnInsertDVD()); page2->addChild(SetDVDDriveSpeed()); page2->addChild(VideoTreeRemember()); // page 3 VerticalConfigurationGroup *pctrl = new VerticalConfigurationGroup(true, false); pctrl->setLabel(QObject::tr("Parental Control Settings")); pctrl->addChild(VideoDefaultParentalLevel()); pctrl->addChild(VideoAdminPassword()); pctrl->addChild(VideoAdminPasswordThree()); pctrl->addChild(VideoAdminPasswordTwo()); pctrl->addChild(VideoAggressivePC()); VConfigPage page3(pages, false); page3->addChild(pctrl); VConfigPage page4(pages, false); page4->addChild(new RatingsToPL()); int page_num = 1; for (ConfigPage::PageList::const_iterator p = pages.begin(); p != pages.end(); ++p, ++page_num) { (*p)->setLabel(QObject::tr("General Settings (%1/%2)").arg(page_num) .arg(pages.size())); addChild(*p); } }
void TestWol() { { LVStreamRef stream = LVOpenFileStream("woltest.wol", LVOM_WRITE); if (!stream) return; LVArray<lUInt32> m(10, 0xbad); m.clear(); WOLWriter wol(stream.get()); wol.addTitle( lString8("book title"), lString8("subj."), lString8("John Smith"), lString8("adapter"), lString8("translator"), lString8("publisher"), lString8("2006-11-01"), lString8("This is introduction."), lString8("ISBN") ); LVGrayDrawBuf cover(600, 800); cover.FillRect(20, 20, 50, 50, 1); cover.FillRect(40, 70, 120, 190, 2); cover.FillRect(60, 80, 150, 290, 3); LVGrayDrawBuf page1(600, 800, 2); page1.FillRect(0, 0, 150, 150, 1); page1.FillRect(70, 70, 140, 140, 2); page1.FillRect(130, 130, 180, 180, 3); page1.FillRect(400, 400, 550, 750, 1); page1.FillRect(420, 420, 530, 730, 2); page1.FillRect(440, 440, 510, 710, 3); LVGrayDrawBuf page2(600, 800, 2); page2.FillRect(120, 20, 150, 50, 1); page2.FillRect(140, 70, 220, 190, 2); page2.FillRect(160, 80, 250, 290, 3); LVGrayDrawBuf page3(600, 800, 2); page3.FillRect(120, 120, 30, 20, 1); page3.FillRect(10, 10, 120, 120, 2); page3.FillRect(300, 300, 300, 700, 3); page3.FillRect(400, 400, 550, 750, 1); page3.FillRect(420, 420, 530, 730, 2); page3.FillRect(440, 440, 510, 710, 3); wol.addCoverImage(cover); wol.addImage(page1); wol.addImage(page2); wol.addImage(page3); SaveBitmapToFile("page1.bmp", &page1); SaveBitmapToFile("page2.bmp", &page2); SaveBitmapToFile("page3.bmp", &page3); } { //LVStream * stream = LVOpenFileStream("Biblia.wol", LVOM_READ); LVStreamRef stream = LVOpenFileStream("woltest.wol", LVOM_READ); //LVStream * stream = LVOpenFileStream("info2.wol", LVOM_READ); if (!stream) return; WOLReader rd(stream.get()); if (!rd.readHeader()) return; LVStreamRef cover = LVOpenFileStream("cover2.bin", LVOM_WRITE); LVStreamRef log = LVOpenFileStream("woltest.log", LVOM_WRITE); LVArray<lUInt8> * rdcover = rd.getBookCover(); LVGrayDrawBuf * rdimg1 = rd.getImage(0); *cover << *rdcover; //int imgsz = (rdimg1->GetWidth()*2+7)/8*rdimg1->GetHeight(); //LVArray<lUInt8> imgbuf(imgsz, 0); //memcpy(imgbuf.ptr(), rdimg1->GetScanLine(0), imgsz ); if (rdimg1) SaveBitmapToFile( "test.bmp", rdimg1 ); //*img << imgbuf; *log << rd.getBookTitle(); *log << "\r\nimages found: " << lString8::itoa(rd.getImageCount()); delete rdimg1; } }
int mc6809dis_step(mc6809dis__t *dis,mc6809__t *const cpu) { volatile int rc; assert(dis != NULL); rc = setjmp(dis->err); if (rc != 0) return rc; dis->next = dis->pc; dis->inst = (*dis->read)(dis,dis->next++); dis->operand[0] = '\0'; dis->topcode[0] = '\0'; dis->toperand[0] = '\0'; dis->data[0] = '\0'; snprintf(dis->addr, sizeof(dis->addr), "%04X",dis->pc); snprintf(dis->opcode,sizeof(dis->opcode),"%02X",dis->inst); switch(dis->inst) { case 0x00: mc6809dis_direct(dis,cpu,"NEG",false); break; case 0x01: (*dis->fault)(dis,MC6809_FAULT_INSTRUCTION); break; case 0x02: (*dis->fault)(dis,MC6809_FAULT_INSTRUCTION); break; case 0x03: mc6809dis_direct(dis,cpu,"COM",false); break; case 0x04: mc6809dis_direct(dis,cpu,"LSR",false); break; case 0x05: (*dis->fault)(dis,MC6809_FAULT_INSTRUCTION); break; case 0x06: mc6809dis_direct(dis,cpu,"ROR",false); break; case 0x07: mc6809dis_direct(dis,cpu,"ASR",false); break; case 0x08: mc6809dis_direct(dis,cpu,"LSL",false); break; case 0x09: mc6809dis_direct(dis,cpu,"ROL",false); break; case 0x0A: mc6809dis_direct(dis,cpu,"DEC",false); break; case 0x0B: (*dis->fault)(dis,MC6809_FAULT_INSTRUCTION); break; case 0x0C: mc6809dis_direct(dis,cpu,"INC",false); break; case 0x0D: mc6809dis_direct(dis,cpu,"TST",false); break; case 0x0E: mc6809dis_direct(dis,cpu,"JMP",false); break; case 0x0F: mc6809dis_direct(dis,cpu,"CLR",false); break; case 0x10: return page2(dis,cpu); case 0x11: return page3(dis,cpu); case 0x12: snprintf(dis->topcode,sizeof(dis->topcode),"NOP"); break; case 0x13: snprintf(dis->topcode,sizeof(dis->topcode),"SYNC"); break; case 0x14: (*dis->fault)(dis,MC6809_FAULT_INSTRUCTION); break; case 0x15: (*dis->fault)(dis,MC6809_FAULT_INSTRUCTION); break; case 0x16: mc6809dis_lrelative(dis,"LBRA",""); break; case 0x17: mc6809dis_lrelative(dis,"LBSR",""); break; case 0x18: (*dis->fault)(dis,MC6809_FAULT_INSTRUCTION); break; case 0x19: snprintf(dis->topcode,sizeof(dis->topcode),"DAA"); break; case 0x1A: ccimmediate(dis,"ORCC"); break; case 0x1B: (*dis->fault)(dis,MC6809_FAULT_INSTRUCTION); break; case 0x1C: ccimmediate(dis,"ANDCC"); break; case 0x1D: snprintf(dis->topcode,sizeof(dis->topcode),"SEX"); break; case 0x1E: exgtfr(dis,"EXG"); break; case 0x1F: exgtfr(dis,"TFR"); break; case 0x20: mc6809dis_relative(dis,"BRA",""); break; case 0x21: mc6809dis_relative(dis,"BRN",""); break; case 0x22: mc6809dis_relative(dis,"BHI","unsigned"); break; case 0x23: mc6809dis_relative(dis,"BLS","unsigned"); break; case 0x24: mc6809dis_relative(dis,"BHS","unsigned"); break; case 0x25: mc6809dis_relative(dis,"BLO","unsigned"); break; case 0x26: mc6809dis_relative(dis,"BNE",""); break; case 0x27: mc6809dis_relative(dis,"BEQ",""); break; case 0x28: mc6809dis_relative(dis,"BVC",""); break; case 0x29: mc6809dis_relative(dis,"BVS",""); break; case 0x2A: mc6809dis_relative(dis,"BPL",""); break; case 0x2B: mc6809dis_relative(dis,"BMI",""); break; case 0x2C: mc6809dis_relative(dis,"BGE","signed"); break; case 0x2D: mc6809dis_relative(dis,"BLT","signed"); break; case 0x2E: mc6809dis_relative(dis,"BGT","signed"); break; case 0x2F: mc6809dis_relative(dis,"BLE","signed"); break; case 0x30: mc6809dis_indexed(dis,cpu,"LEAX",false); break; case 0x31: mc6809dis_indexed(dis,cpu,"LEAY",false); break; case 0x32: mc6809dis_indexed(dis,cpu,"LEAS",false); break; case 0x33: mc6809dis_indexed(dis,cpu,"LEAU",false); break; case 0x34: psh(dis,"PSHS",true); break; case 0x35: pul(dis,"PULS",true); break; case 0x36: psh(dis,"PSHU",false); break; case 0x37: pul(dis,"PULU",false); break; case 0x38: (*dis->fault)(dis,MC6809_FAULT_INSTRUCTION); break; case 0x39: snprintf(dis->topcode,sizeof(dis->topcode),"RTS"); break; case 0x3A: snprintf(dis->topcode,sizeof(dis->topcode),"ABX"); break; case 0x3B: snprintf(dis->topcode,sizeof(dis->topcode),"RTI"); break; case 0x3C: ccimmediate(dis,"CWAI"); break; case 0x3D: snprintf(dis->topcode,sizeof(dis->topcode),"MUL"); break; case 0x3E: (*dis->fault)(dis,MC6809_FAULT_INSTRUCTION); break; case 0x3F: snprintf(dis->topcode,sizeof(dis->topcode),"SWI"); break; case 0x40: snprintf(dis->topcode,sizeof(dis->topcode),"NEGA"); break; case 0x41: (*dis->fault)(dis,MC6809_FAULT_INSTRUCTION); break; case 0x42: (*dis->fault)(dis,MC6809_FAULT_INSTRUCTION); break; case 0x43: snprintf(dis->topcode,sizeof(dis->topcode),"COMA"); break; case 0x44: snprintf(dis->topcode,sizeof(dis->topcode),"LSRA"); break; case 0x45: (*dis->fault)(dis,MC6809_FAULT_INSTRUCTION); break; case 0x46: snprintf(dis->topcode,sizeof(dis->topcode),"RORA"); break; case 0x47: snprintf(dis->topcode,sizeof(dis->topcode),"ASRA"); break; case 0x48: snprintf(dis->topcode,sizeof(dis->topcode),"LSLA"); break; case 0x49: snprintf(dis->topcode,sizeof(dis->topcode),"ROLA"); break; case 0x4A: snprintf(dis->topcode,sizeof(dis->topcode),"DECA"); break; case 0x4B: (*dis->fault)(dis,MC6809_FAULT_INSTRUCTION); break; case 0x4C: snprintf(dis->topcode,sizeof(dis->topcode),"INCA"); break; case 0x4D: snprintf(dis->topcode,sizeof(dis->topcode),"TSTA"); break; case 0x4E: (*dis->fault)(dis,MC6809_FAULT_INSTRUCTION); break; case 0x4F: snprintf(dis->topcode,sizeof(dis->topcode),"CLRA"); break; case 0x50: snprintf(dis->topcode,sizeof(dis->topcode),"NEGB"); break; case 0x51: (*dis->fault)(dis,MC6809_FAULT_INSTRUCTION); break; case 0x52: (*dis->fault)(dis,MC6809_FAULT_INSTRUCTION); break; case 0x53: snprintf(dis->topcode,sizeof(dis->topcode),"COMB"); break; case 0x54: snprintf(dis->topcode,sizeof(dis->topcode),"LSRB"); break; case 0x55: (*dis->fault)(dis,MC6809_FAULT_INSTRUCTION); break; case 0x56: snprintf(dis->topcode,sizeof(dis->topcode),"RORB"); break; case 0x57: snprintf(dis->topcode,sizeof(dis->topcode),"ASRB"); break; case 0x58: snprintf(dis->topcode,sizeof(dis->topcode),"LSLB"); break; case 0x59: snprintf(dis->topcode,sizeof(dis->topcode),"ROLB"); break; case 0x5A: snprintf(dis->topcode,sizeof(dis->topcode),"DECB"); break; case 0x5B: (*dis->fault)(dis,MC6809_FAULT_INSTRUCTION); break; case 0x5C: snprintf(dis->topcode,sizeof(dis->topcode),"INCB"); break; case 0x5D: snprintf(dis->topcode,sizeof(dis->topcode),"TSTB"); break; case 0x5E: (*dis->fault)(dis,MC6809_FAULT_INSTRUCTION); break; case 0x5F: snprintf(dis->topcode,sizeof(dis->topcode),"CLRB"); break; case 0x60: mc6809dis_indexed(dis,cpu,"NEG",false); break; case 0x61: (*dis->fault)(dis,MC6809_FAULT_INSTRUCTION); break; case 0x62: (*dis->fault)(dis,MC6809_FAULT_INSTRUCTION); break; case 0x63: mc6809dis_indexed(dis,cpu,"COM",false); break; case 0x64: mc6809dis_indexed(dis,cpu,"LSR",false); break; case 0x65: (*dis->fault)(dis,MC6809_FAULT_INSTRUCTION); break; case 0x66: mc6809dis_indexed(dis,cpu,"ROR",false); break; case 0x67: mc6809dis_indexed(dis,cpu,"ASR",false); break; case 0x68: mc6809dis_indexed(dis,cpu,"LSL",false); break; case 0x69: mc6809dis_indexed(dis,cpu,"ROL",false); break; case 0x6A: mc6809dis_indexed(dis,cpu,"DEC",false); break; case 0x6B: (*dis->fault)(dis,MC6809_FAULT_INSTRUCTION); break; case 0x6C: mc6809dis_indexed(dis,cpu,"INC",false); break; case 0x6D: mc6809dis_indexed(dis,cpu,"TST",false); break; case 0x6E: mc6809dis_indexed(dis,cpu,"JMP",false); break; case 0x6F: mc6809dis_indexed(dis,cpu,"CLR",false); break; case 0x70: mc6809dis_extended(dis,cpu,"NEG",false); break; case 0x71: (*dis->fault)(dis,MC6809_FAULT_INSTRUCTION); break; case 0x72: (*dis->fault)(dis,MC6809_FAULT_INSTRUCTION); break; case 0x73: mc6809dis_extended(dis,cpu,"COM",false); break; case 0x74: mc6809dis_extended(dis,cpu,"LSR",false); break; case 0x75: (*dis->fault)(dis,MC6809_FAULT_INSTRUCTION); break; case 0x76: mc6809dis_extended(dis,cpu,"ROR",false); break; case 0x77: mc6809dis_extended(dis,cpu,"ASR",false); break; case 0x78: mc6809dis_extended(dis,cpu,"LSL",false); break; case 0x79: mc6809dis_extended(dis,cpu,"ROL",false); break; case 0x7A: mc6809dis_extended(dis,cpu,"DEC",false); break; case 0x7B: (*dis->fault)(dis,MC6809_FAULT_INSTRUCTION); break; case 0x7C: mc6809dis_extended(dis,cpu,"INC",false); break; case 0x7D: mc6809dis_extended(dis,cpu,"TST",false); break; case 0x7E: mc6809dis_extended(dis,cpu,"JMP",false); break; case 0x7F: mc6809dis_extended(dis,cpu,"CLR",false); break; case 0x80: mc6809dis_immediate(dis,"SUBA",false); break; case 0x81: mc6809dis_immediate(dis,"CMPA",false); break; case 0x82: mc6809dis_immediate(dis,"SBCA",false); break; case 0x83: mc6809dis_immediate(dis,"SUBD",true); break; case 0x84: mc6809dis_immediate(dis,"ANDA",false); break; case 0x85: mc6809dis_immediate(dis,"BITA",false); break; case 0x86: mc6809dis_immediate(dis,"LDA",false); break; case 0x87: (*dis->fault)(dis,MC6809_FAULT_INSTRUCTION); break; case 0x88: mc6809dis_immediate(dis,"EORA",false); break; case 0x89: mc6809dis_immediate(dis,"ADCA",false); break; case 0x8A: mc6809dis_immediate(dis,"ORA",false); break; case 0x8B: mc6809dis_immediate(dis,"ADDA",false); break; case 0x8C: mc6809dis_immediate(dis,"CMPX",true); break; case 0x8D: mc6809dis_relative(dis,"BSR",""); break; case 0x8E: mc6809dis_immediate(dis,"LDX",true); break; case 0x8F: (*dis->fault)(dis,MC6809_FAULT_INSTRUCTION); break; case 0x90: mc6809dis_direct(dis,cpu,"SUBA",false); break; case 0x91: mc6809dis_direct(dis,cpu,"CMPA",false); break; case 0x92: mc6809dis_direct(dis,cpu,"SBCA",false); break; case 0x93: mc6809dis_direct(dis,cpu,"SUBD",true); break; case 0x94: mc6809dis_direct(dis,cpu,"ANDA",false); break; case 0x95: mc6809dis_direct(dis,cpu,"BITA",false); break; case 0x96: mc6809dis_direct(dis,cpu,"LDA",false); break; case 0x97: mc6809dis_direct(dis,cpu,"STA",false); break; case 0x98: mc6809dis_direct(dis,cpu,"EORA",false); break; case 0x99: mc6809dis_direct(dis,cpu,"ADCA",false); break; case 0x9A: mc6809dis_direct(dis,cpu,"ORA",false); break; case 0x9B: mc6809dis_direct(dis,cpu,"ADDA",false); break; case 0x9C: mc6809dis_direct(dis,cpu,"CMPX",true); break; case 0x9D: mc6809dis_direct(dis,cpu,"JSR",false); break; case 0x9E: mc6809dis_direct(dis,cpu,"LDX",true); break; case 0x9F: mc6809dis_direct(dis,cpu,"STX",true); break; case 0xA0: mc6809dis_indexed(dis,cpu,"SUBA",false); break; case 0xA1: mc6809dis_indexed(dis,cpu,"CMPA",false); break; case 0xA2: mc6809dis_indexed(dis,cpu,"SBCA",false); break; case 0xA3: mc6809dis_indexed(dis,cpu,"SUBD",true); break; case 0xA4: mc6809dis_indexed(dis,cpu,"ANDA",false); break; case 0xA5: mc6809dis_indexed(dis,cpu,"BITA",false); break; case 0xA6: mc6809dis_indexed(dis,cpu,"LDA",false); break; case 0xA7: mc6809dis_indexed(dis,cpu,"STA",false); break; case 0xA8: mc6809dis_indexed(dis,cpu,"EORA",false); break; case 0xA9: mc6809dis_indexed(dis,cpu,"ADCA",false); break; case 0xAA: mc6809dis_indexed(dis,cpu,"ORA",false); break; case 0xAB: mc6809dis_indexed(dis,cpu,"ADDA",false); break; case 0xAC: mc6809dis_indexed(dis,cpu,"CMPX",true); break; case 0xAD: mc6809dis_indexed(dis,cpu,"JSR",false); break; case 0xAE: mc6809dis_indexed(dis,cpu,"LDX",true); break; case 0xAF: mc6809dis_indexed(dis,cpu,"STX",true); break; case 0xB0: mc6809dis_extended(dis,cpu,"SUBA",false); break; case 0xB1: mc6809dis_extended(dis,cpu,"CMPA",false); break; case 0xB2: mc6809dis_extended(dis,cpu,"SBCA",false); break; case 0xB3: mc6809dis_extended(dis,cpu,"SUBD",true); break; case 0xB4: mc6809dis_extended(dis,cpu,"ANDA",false); break; case 0xB5: mc6809dis_extended(dis,cpu,"BITA",false); break; case 0xB6: mc6809dis_extended(dis,cpu,"LDA",false); break; case 0xB7: mc6809dis_extended(dis,cpu,"STA",false); break; case 0xB8: mc6809dis_extended(dis,cpu,"EORA",false); break; case 0xB9: mc6809dis_extended(dis,cpu,"ADCA",false); break; case 0xBA: mc6809dis_extended(dis,cpu,"ORA",false); break; case 0xBB: mc6809dis_extended(dis,cpu,"ADDA",false); break; case 0xBC: mc6809dis_extended(dis,cpu,"CMPX",true); break; case 0xBD: mc6809dis_extended(dis,cpu,"JSR",false); break; case 0xBE: mc6809dis_extended(dis,cpu,"LDX",true); break; case 0xBF: mc6809dis_extended(dis,cpu,"STX",true); break; case 0xC0: mc6809dis_immediate(dis,"SUBB",false); break; case 0xC1: mc6809dis_immediate(dis,"CMPB",false); break; case 0xC2: mc6809dis_immediate(dis,"SBCB",false); break; case 0xC3: mc6809dis_immediate(dis,"ADDD",true); break; case 0xC4: mc6809dis_immediate(dis,"ANDB",false); break; case 0xC5: mc6809dis_immediate(dis,"BITB",false); break; case 0xC6: mc6809dis_immediate(dis,"LDB",false); break; case 0xC7: (*dis->fault)(dis,MC6809_FAULT_INSTRUCTION); break; case 0xC8: mc6809dis_immediate(dis,"EORB",false); break; case 0xC9: mc6809dis_immediate(dis,"ADCB",false); break; case 0xCA: mc6809dis_immediate(dis,"ORB",false); break; case 0xCB: mc6809dis_immediate(dis,"ADDB",false); break; case 0xCC: mc6809dis_immediate(dis,"LDD",true); break; case 0xCD: (*dis->fault)(dis,MC6809_FAULT_INSTRUCTION); break; case 0xCE: mc6809dis_immediate(dis,"LDU",true); break; case 0xCF: (*dis->fault)(dis,MC6809_FAULT_INSTRUCTION); break; case 0xD0: mc6809dis_direct(dis,cpu,"SUBB",false); break; case 0xD1: mc6809dis_direct(dis,cpu,"CMPB",false); break; case 0xD2: mc6809dis_direct(dis,cpu,"SBCB",false); break; case 0xD3: mc6809dis_direct(dis,cpu,"ADDD",true); break; case 0xD4: mc6809dis_direct(dis,cpu,"ANDB",false); break; case 0xD5: mc6809dis_direct(dis,cpu,"BITB",false); break; case 0xD6: mc6809dis_direct(dis,cpu,"LDB",false); break; case 0xD7: mc6809dis_direct(dis,cpu,"STB",false); break; case 0xD8: mc6809dis_direct(dis,cpu,"EORB",false); break; case 0xD9: mc6809dis_direct(dis,cpu,"ADCB",false); break; case 0xDA: mc6809dis_direct(dis,cpu,"ORB",false); break; case 0xDB: mc6809dis_direct(dis,cpu,"ADDB",false); break; case 0xDC: mc6809dis_direct(dis,cpu,"LDD",true); break; case 0xDD: mc6809dis_direct(dis,cpu,"STD",true); break; case 0xDE: mc6809dis_direct(dis,cpu,"LDU",true); break; case 0xDF: mc6809dis_direct(dis,cpu,"STU",true); break; case 0xE0: mc6809dis_indexed(dis,cpu,"SUBB",false); break; case 0xE1: mc6809dis_indexed(dis,cpu,"CMPB",false); break; case 0xE2: mc6809dis_indexed(dis,cpu,"SBCB",false); break; case 0xE3: mc6809dis_indexed(dis,cpu,"ADDD",true); break; case 0xE4: mc6809dis_indexed(dis,cpu,"ANDB",false); break; case 0xE5: mc6809dis_indexed(dis,cpu,"BITB",false); break; case 0xE6: mc6809dis_indexed(dis,cpu,"LDB",false); break; case 0xE7: mc6809dis_indexed(dis,cpu,"STB",false); break; case 0xE8: mc6809dis_indexed(dis,cpu,"EORB",false); break; case 0xE9: mc6809dis_indexed(dis,cpu,"ADCB",false); break; case 0xEA: mc6809dis_indexed(dis,cpu,"ORB",false); break; case 0xEB: mc6809dis_indexed(dis,cpu,"ADDB",false); break; case 0xEC: mc6809dis_indexed(dis,cpu,"LDD",true); break; case 0xED: mc6809dis_indexed(dis,cpu,"STD",true); break; case 0xEE: mc6809dis_indexed(dis,cpu,"LDU",true); break; case 0xEF: mc6809dis_indexed(dis,cpu,"STU",true); break; case 0xF0: mc6809dis_extended(dis,cpu,"SUBB",false); break; case 0xF1: mc6809dis_extended(dis,cpu,"CMPB",false); break; case 0xF2: mc6809dis_extended(dis,cpu,"SBCB",false); break; case 0xF3: mc6809dis_extended(dis,cpu,"ADDD",true); break; case 0xF4: mc6809dis_extended(dis,cpu,"ANDB",false); break; case 0xF5: mc6809dis_extended(dis,cpu,"BITB",false); break; case 0xF6: mc6809dis_extended(dis,cpu,"LDB",false); break; case 0xF7: mc6809dis_extended(dis,cpu,"STB",false); break; case 0xF8: mc6809dis_extended(dis,cpu,"EORB",false); break; case 0xF9: mc6809dis_extended(dis,cpu,"ADCB",false); break; case 0xFA: mc6809dis_extended(dis,cpu,"ORB",false); break; case 0xFB: mc6809dis_extended(dis,cpu,"ADDB",false); break; case 0xFC: mc6809dis_extended(dis,cpu,"LDD",true); break; case 0xFD: mc6809dis_extended(dis,cpu,"STD",true); break; case 0xFE: mc6809dis_extended(dis,cpu,"LDU",true); break; case 0xFF: mc6809dis_extended(dis,cpu,"STU",true); break; default: assert(0); (*cpu->fault)(cpu,MC6809_FAULT_INTERNAL_ERROR); break; } return 0; }