Beispiel #1
0
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);

}
Beispiel #3
0
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 */
Beispiel #4
0
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);
}
Beispiel #5
0
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()));
}
Beispiel #6
0
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;
    }
}
Beispiel #7
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);
    }
}
Beispiel #8
0
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;
	}
}
Beispiel #9
0
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;
}