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

📄 asm.cpp

📁 模拟了tec2000的所有功能
💻 CPP
📖 第 1 页 / 共 5 页
字号:
          while((dearp[0]!='\0')&&(dearp[0]!=']'))
		  {
			  if(!(dearp[0]==' '||(dearp[0]=='0')||(dearp[0]=='1')||(dearp[0]=='2')||(dearp[0]=='3')||(dearp[0]=='4')||(dearp[0]=='5')||(dearp[0]=='6')||(dearp[0]=='7')||(dearp[0]=='8')||(dearp[0]=='9')||(dearp[0]=='A')||(dearp[0]=='B')||(dearp[0]=='C')||(dearp[0]=='D')||(dearp[0]=='E')||(dearp[0]=='F')))
		            errorsign=0;
              dearp++;
		  }

          if(dearp[0]=='\0')errorsign=0;

		  dearp++;

          while(dearp[0]!=','&&dearp[0]!='\0')
		   {
            if(dearp[0]!=' ')
		            errorsign=0;
            dearp++;
		   }
          if(dearp[0]=='\0')errorsign=0;
          dearp++;
          while(dearp[0]!='R'&&dearp[0]!='r'&&dearp[0]!='\0')
		   {
            if(dearp[0]!=' ')
		            errorsign=0;
            dearp++;
		   }
          if(dearp[0]=='\0')errorsign=0;
          dearp++;

		  while((dearp[0]!='\0')&&(dearp[0]!=' '))
		  {
			  if(!((dearp[0]=='0')||(dearp[0]=='1')||(dearp[0]=='2')||(dearp[0]=='3')||(dearp[0]=='4')||(dearp[0]=='5')||(dearp[0]=='6')||(dearp[0]=='7')||(dearp[0]=='8')||(dearp[0]=='9')||(dearp[0]=='A')||(dearp[0]=='B')||(dearp[0]=='C')||(dearp[0]=='D')||(dearp[0]=='E')||(dearp[0]=='F')))
		            errorsign=0;
              dearp++;
		  }
		}

	    if(errorsign==1)
		{
			p++;
            TEMP1=getdata(p);
            while(p[0]!='r'&&p[0]!='R')p++;
			p++;
            TEMP2=trahexdec(getdata(p));
			memory[temp]=id+TEMP2;
			temp++;
			memory[temp]=TEMP1;
            temp++;
		}
		else
		{
         CString AResult,tempstr;
	     AResult="      ^ Error!";
         AResult+="\r\n";
         int	CurrentlengthAll;
	     CurrentlengthAll=pEdit->GetWindowTextLength();
 	     pEdit->SetSel(CurrentlengthAll,CurrentlengthAll);
	     pEdit->ReplaceSel(AResult);
		}
	 
	}
}

void Casm::asm42(WORD &temp,char *p,WORD id)
{
    int errorsign=1;char * dearp=p;
	while(dearp[0]==' ')dearp++;
    if(dearp[0]!='R')errorsign=0;
    else
	{
        dearp++;
	    if(trahexdec(getdata(dearp))>15||trahexdec(getdata(dearp))<0)errorsign=0;
	    while(dearp[0]!=','&&dearp[0]!='\0')
		{
            if(!((dearp[0]==' ')||(dearp[0]=='0')||(dearp[0]=='1')||(dearp[0]=='2')||(dearp[0]=='3')||(dearp[0]=='4')||(dearp[0]=='5')||(dearp[0]=='6')||(dearp[0]=='7')||(dearp[0]=='8')||(dearp[0]=='9')))
		            errorsign=0;
            dearp++;
		}
        if(dearp[0]=='\0')errorsign=0;
		dearp++;
        while(dearp[0]==' ')dearp++;
        while((dearp[0]!='\0')&&(dearp[0]!='['))
		{
			  if(!((dearp[0]==' ')||(dearp[0]=='0')||(dearp[0]=='1')||(dearp[0]=='2')||(dearp[0]=='3')||(dearp[0]=='4')||(dearp[0]=='5')||(dearp[0]=='6')||(dearp[0]=='7')||(dearp[0]=='8')||(dearp[0]=='9')||(dearp[0]=='A')||(dearp[0]=='B')||(dearp[0]=='C')||(dearp[0]=='D')||(dearp[0]=='E')||(dearp[0]=='F')))
		            errorsign=0;
               dearp++;
		}
        if(dearp[0]=='\0')errorsign=0;
		dearp++;
        while(dearp[0]==' ')dearp++;
        if(dearp[0]!='R')errorsign=0;
		dearp++;
        if(trahexdec(getdata(dearp))>15||trahexdec(getdata(dearp))<0)errorsign=0;
        while(dearp[0]!=']'&&dearp[0]!='\0')
		{
            if(!((dearp[0]==' ')||(dearp[0]=='0')||(dearp[0]=='1')||(dearp[0]=='2')||(dearp[0]=='3')||(dearp[0]=='4')||(dearp[0]=='5')||(dearp[0]=='6')||(dearp[0]=='7')||(dearp[0]=='8')||(dearp[0]=='9')))
		            errorsign=0;
            dearp++;
		}
        if(dearp[0]=='\0')errorsign=0;
        dearp++;
        while((dearp[0]!='\0')&&(dearp[0]!=' '))
		{
			  if(!((dearp[0]=='0')||(dearp[0]=='1')||(dearp[0]=='2')||(dearp[0]=='3')||(dearp[0]=='4')||(dearp[0]=='5')||(dearp[0]=='6')||(dearp[0]=='7')||(dearp[0]=='8')||(dearp[0]=='9')||(dearp[0]=='A')||(dearp[0]=='B')||(dearp[0]=='C')||(dearp[0]=='D')||(dearp[0]=='E')||(dearp[0]=='F')))
		            errorsign=0;
              dearp++;
		}
	}
    if(errorsign==1)
	{
	WORD TEMP1,TEMP2,TEMP3;
	while(p[0]==' ')p++;
    if(p[0]!='r'&&p[0]!='R');//cout<<"       ^error"<<endl;
    else
	{
		p++;
		TEMP1=trahexdec(getdata(p));
        while(p[0]!=',')p++;
		p++;
		TEMP2=getdata(p);
		p++;
		while(p[0]!='r'&&p[0]!='R')p++;
		p++;
		TEMP3=trahexdec(getdata(p));
		memory[temp]=id+TEMP1*16+TEMP3;
		temp++;
		memory[temp]=TEMP2;
		temp++;
	}
	}
	else
	{
       CString AResult,tempstr;
	     AResult="      ^ Error!";
         AResult+="\r\n";
         int	CurrentlengthAll;
	     CurrentlengthAll=pEdit->GetWindowTextLength();
 	     pEdit->SetSel(CurrentlengthAll,CurrentlengthAll);
	     pEdit->ReplaceSel(AResult);
	}

}

void Casm::asm5(WORD &temp,char *p,WORD id)
{
    int errorsign=1;char * dearp=p;
	while(dearp[0]==' ')dearp++;

	WORD cs=getdata(p);
	if(cs>=temp+1)
	    cs=cs-temp-1;
	else
		cs=temp+1-cs;
    if(cs>=0x80)errorsign=0;

    while((dearp[0]!='\0')&&(dearp[0]!=' '))
	{
	   if(!((dearp[0]=='0')||(dearp[0]=='1')||(dearp[0]=='2')||(dearp[0]=='3')||(dearp[0]=='4')||(dearp[0]=='5')||(dearp[0]=='6')||(dearp[0]=='7')||(dearp[0]=='8')||(dearp[0]=='9')||(dearp[0]=='A')||(dearp[0]=='B')||(dearp[0]=='C')||(dearp[0]=='D')||(dearp[0]=='E')||(dearp[0]=='F')))
		    errorsign=0;
       dearp++;
	}
    while(dearp[0]!='\0')
	{
     if(dearp[0]!=' ')
		 {errorsign=0;}
     dearp++;
	}
	if(errorsign==1)
	{
    WORD TEMP1,TEMP2;
    while(p[0]==' ')p++;
	TEMP1=getdata(p);
	TEMP2=0x10000+TEMP1-temp-1;
    TEMP2=0x00ff&TEMP2;
	memory[temp]=id+TEMP2;
	temp++;
	}
    else
	{
       CString AResult,tempstr;
	   AResult="      ^ Error!";
       AResult+="\r\n";
       int	CurrentlengthAll;
	   CurrentlengthAll=pEdit->GetWindowTextLength();
 	   pEdit->SetSel(CurrentlengthAll,CurrentlengthAll);
	   pEdit->ReplaceSel(AResult);
	}
   
}

void Casm::asm6(WORD &temp,char *p,WORD id)
{
	int errorsign=1;char * dearp=p;
	while(dearp[0]==' ')dearp++;
    while((dearp[0]!='\0')&&(dearp[0]!=' '))
	{
	   if(!((dearp[0]=='0')||(dearp[0]=='1')||(dearp[0]=='2')||(dearp[0]=='3')||(dearp[0]=='4')||(dearp[0]=='5')||(dearp[0]=='6')||(dearp[0]=='7')||(dearp[0]=='8')||(dearp[0]=='9')||(dearp[0]=='A')||(dearp[0]=='B')||(dearp[0]=='C')||(dearp[0]=='D')||(dearp[0]=='E')||(dearp[0]=='F')))
		    errorsign=0;
       dearp++;
	}
    while(dearp[0]!='\0')
	{
     if(dearp[0]!=' ')
		 {errorsign=0;}
     dearp++;
	}

	if(errorsign==1)
	{
	WORD TEMP1;
	while(p[0]==' ')p++;
	TEMP1=getdata(p);
	memory[temp]=id;
	temp++;
	memory[temp]=TEMP1;
	temp++;
	}
    else
	{
       CString AResult,tempstr;
	     AResult="      ^ Error!";
         AResult+="\r\n";
         int	CurrentlengthAll;
	     CurrentlengthAll=pEdit->GetWindowTextLength();
 	     pEdit->SetSel(CurrentlengthAll,CurrentlengthAll);
	     pEdit->ReplaceSel(AResult);
	}

	
}

void Casm::controlU()
{
    char *CS=now;
		int errorsign=1;
		while(CS[0]==' ')CS++;
        while((CS[0]!='\0')&&(CS[0]!=' '))
		{
			  if(!((CS[0]==' ')||(CS[0]=='0')||(CS[0]=='1')||(CS[0]=='2')||(CS[0]=='3')||(CS[0]=='4')||(CS[0]=='5')||(CS[0]=='6')||(CS[0]=='7')||(CS[0]=='8')||(CS[0]=='9')||(CS[0]=='A')||(CS[0]=='B')||(CS[0]=='C')||(CS[0]=='D')||(CS[0]=='E')||(CS[0]=='F')))
		            errorsign=0;
               CS++;
		}
        while(CS[0]!='\0')
		{
            if(CS[0]!=' ')
			   {errorsign=0;}
            CS++;
		}
		if(errorsign==1)
		{
	
	addressD=0x2000;addressT=0x2000;addressP=0x2000;
	
	WORD TEMPADR=getdata(now);
	WORD TEMP;
	if(now[0]=='\0'&&addressU!=0x2000){TEMP=addressU;}
	else if(now[0]=='\0'&&addressU==0x2000){TEMP=addressU;}
	else{TEMP=TEMPADR;}
	pc=TEMP;

    int	CurrentlengthAll;
	CString UResult,temp;
	UResult="\r\n";
	CurrentlengthAll=pEdit->GetWindowTextLength();
 	pEdit->SetSel(CurrentlengthAll,CurrentlengthAll);
	pEdit->ReplaceSel(UResult);
	
    for(int i=0;i<16;i++)
	{
		UResult.Empty();
		savepcsp();
		ID=getinsID();
		switch(ID)
		{
		case 0x0000:DR=getdr();SR=getsr();temp.Format("%04x",pc);UResult=temp;
			        UResult+=":";temp.Format("%04x",memory[pc]);UResult+=temp;UResult+="        ";
			        UResult+="ADD   R";temp.Format("%d",DR);UResult+=temp;UResult+=",   R";
			        temp.Format("%d",SR);UResult+=temp;UResult+="\r\n";pc++;break;
		case 0x0100:DR=getdr();SR=getsr();temp.Format("%04x",pc);UResult=temp;
			        UResult+=":";temp.Format("%04x",memory[pc]);UResult+=temp;UResult+="        ";
			        UResult+="SUB   R";temp.Format("%d",DR);UResult+=temp;UResult+=",   R";
			        temp.Format("%d",SR);UResult+=temp;UResult+="\r\n";pc++;break;
		case 0x0200:DR=getdr();SR=getsr();temp.Format("%04x",pc);UResult=temp;
			        UResult+=":";temp.Format("%04x",memory[pc]);UResult+=temp;UResult+="        ";
			        UResult+="AND   R";temp.Format("%d",DR);UResult+=temp;UResult+=",   R";
			        temp.Format("%d",SR);UResult+=temp;UResult+="\r\n";pc++;break;
		case 0x0300:DR=getdr();SR=getsr();temp.Format("%04x",pc);UResult=temp;
			        UResult+=":";temp.Format("%04x",memory[pc]);UResult+=temp;UResult+="        ";
			        UResult+="CMP   R";temp.Format("%d",DR);UResult+=temp;UResult+=",   R";
			        temp.Format("%d",SR);UResult+=temp;UResult+="\r\n";pc++;break;
		case 0x0400:DR=getdr();SR=getsr();temp.Format("%04x",pc);UResult=temp;
			        UResult+=":";temp.Format("%04x",memory[pc]);UResult+=temp;UResult+="        ";
			        UResult+="XOR   R";temp.Format("%d",DR);UResult+=temp;UResult+=",   R";
			        temp.Format("%d",SR);UResult+=temp;UResult+="\r\n";pc++;break;
		case 0x0500:DR=getdr();SR=getsr();temp.Format("%04x",pc);UResult=temp;
			        UResult+=":";temp.Format("%04x",memory[pc]);UResult+=temp;UResult+="        ";
			        UResult+="TEST  R";temp.Format("%d",DR);UResult+=temp;UResult+=",   R";
			        temp.Format("%d",SR);UResult+=temp;UResult+="\r\n";pc++;break;
		case 0x0600:DR=getdr();SR=getsr();temp.Format("%04x",pc);UResult=temp;
			        UResult+=":";temp.Format("%04x",memory[pc]);UResult+=temp;UResult+="        ";
			        UResult+="OR    R";temp.Format("%d",DR);UResult+=temp;UResult+=",   R";
			        temp.Format("%d",SR);UResult+=temp;UResult+="\r\n";pc++;break;
		case 0x0700:DR=getdr();SR=getsr();temp.Format("%04x",pc);UResult=temp;
			        UResult+=":";temp.Format("%04x",memory[pc]);UResult+=temp;UResult+="        ";
			        UResult+="MVRR  R";temp.Format("%d",DR);UResult+=temp;UResult+=",   R";
			        temp.Format("%d",SR);UResult+=temp;UResult+="\r\n";pc++;break;
		case 0x0800:DR=getdr();temp.Format("%04x",pc);UResult=temp; UResult+=":";temp.Format("%04x",memory[pc]); 
			        UResult+=temp;UResult+="        ";UResult+="DEC   R";temp.Format("%d",DR);UResult+=temp;
			        UResult+="\r\n";pc++;break;
		case 0x0900:DR=getdr();temp.Format("%04x",pc);UResult=temp; UResult+=":";temp.Format("%04x",memory[pc]); 
			        UResult+=temp;UResult+="        ";UResult+="INC   R";temp.Format("%d",DR);UResult+=temp;
			        UResult+="\r\n";pc++;break;
		case 0x0a00:DR=getdr();temp.Format("%04x",pc);UResult=temp; UResult+=":";temp.Format("%04x",memory[pc]); 
			        UResult+=temp;UResult+="        ";UResult+="SHL   R";temp.Format("%d",DR);UResult+=temp;
			        UResult+="\r\n";pc++;break;
		case 0x0b00:DR=getdr();temp.Format("%04x",pc);UResult=temp; UResult+=":";temp.Format("%04x",memory[pc]); 
			        UResult+=temp;UResult+="        ";UResult+="SHR   R";temp.Format("%d",DR);UResult+=temp;
			        UResult+="\r\n";pc++;break;
		case 0x4100:OFFSET=getoffset();ADR=pc+OFFSET+1;temp.Format("%04x",pc);UResult=temp;
			        UResult+=":";temp.Format("%04x",memory[pc]);UResult+=temp;UResult+="        ";
			        UResult+="JR    ";temp.Format("%04x",ADR);UResult+=temp;UResult+="\r\n";pc++;break;
	    case 0x4400:OFFSET=getoffset();ADR=pc+OFFSET+1;temp.Format("%04x",pc);UResult=temp;
			        UResult+=":";temp.Format("%04x",memory[pc]);UResult+=temp;UResult+="        ";
			        UResult+="JRC   ";temp.Format("%04x",ADR);UResult+=temp;UResult+="\r\n";pc++;break;
		case 0x4500:OFFSET=getoffset();ADR=pc+OFFSET+1;temp.Format("%04x",pc);UResult=temp;
			        UResult+=":";temp.Format("%04x",memory[pc]);UResult+=temp;UResult+="        ";
			        UResult+="JRNC  ";temp.Format("%04x",ADR);UResult+=temp;UResult+="\r\n";pc++;break;
		case 0x4600:OFFSET=getoffset();ADR=pc+OFFSET+1;temp.Format("%04x",pc);UResult=temp;
			        UResult+=":";temp.Format("%04x",memory[pc]);UResult+=temp;UResult+="        ";
			        UResult+="JRZ   ";temp.Format("%04x",ADR);UResult+=temp;UResult+="\r\n";pc++;break;
		case 0x4700:OFFSET=getoffset();ADR=pc+OFFSET+1;temp.Format("%04x",pc);UResult=temp;
			        UResult+=":";temp.Format("%04x",memory[pc]);UResult+=temp;UResult+="        ";
			        UResult+="JRNZ  ";temp.Format("%04x",ADR);UResult+=temp;UResult+="\r\n";pc++;break;
		case 0x8000:temp.Format("%04x",pc);UResult=temp;UResult+=":";temp.Format("%04x",memory[pc]);
			        UResult+=temp;UResult+="  ";temp.Format("%04x",memory[pc+1]);UResult+=temp;UResult+="  ";
		            pc++;ADR=getadr();UResult+="JMPA  ";temp.Format("%04x",ADR);UResult+=temp;
					UResult+="\r\n";pc++;break;
		case 0x8100:DR=getdr();SR=getsr();temp.Format("%04x",pc);UResult=temp;UResult+=":";temp.Format("%04x",memory[pc]);
			        UResult+=temp;UResult+="        ";UResult+="LDRR  R";temp.Format("%d",DR);UResult+=temp;
					UResult+=",   [R";temp.Format("%d",SR);UResult+=temp;UResult+="]\r\n";pc++;break;
		case 0x8200:IOPORT=getioport();temp.Format("%04x",pc);UResult=temp;UResult+=":";temp.Format("%04x",memory[pc]);
			        UResult+=temp;UResult+="        IN    ";temp.Format("%x",IOPORT);UResult+=temp;UResult+="\r\n";pc++;break;
		case 0x8300:DR=getdr();SR=getsr();temp.Format("%04x",pc);UResult+=temp;UResult+=":";temp.Format("%04x",memory[pc]);
			        UResult+=temp;UResult+="        ";UResult+="STRR  [R";temp.Format("%d",DR);UResult+=temp;
					UResult+="], R";temp.Format("%d",SR);UResult+=temp;UResult+="\r\n";pc++;break;
		case 0x8400:temp.Format("%04x",pc);UResult=temp;UResult+=":";temp.Format("%04x",memory[pc]);
			        UResult+=temp;UResult+="        PSHF\r\n";pc++;break;
		case 0x8500:SR=getsr();temp.Format("%04x",pc);UResult=temp;UResult+=":";temp.Format("%04x",memory[pc]);
			        UResult+=temp;UResult+="        PUSH R";temp.Format("%d",SR);UResult+=temp;UResult+="\r\n";pc++;break;
		case 0x8600:IOPORT=getioport();temp.Format("%04x",pc);UResult=temp;UResult+=":";temp.Format("%04x",memory[pc]);
			        UResult+=temp;UResult+="        OUT   ";temp.Format("%x",IOPORT);UResult+=temp;UResult+="\r\n";pc++;break;
		case 0x8700:DR=getdr();temp.Format("%04x",pc);UResult=temp; UResult+=":";temp.Format("%04x",memory[pc]); 
			        UResult+=temp;UResult+="        ";UResult+="POP   R";temp.Format("%d",DR);UResult+=temp;
			        UResult+="\r\n";pc++;break;
		case 0x8800:DR=getdr();temp.Format("%04x",pc);UResult+=temp;UResult+=":";temp.Format("%04x",memory[pc]);
			        UResult+=temp;UResult+="  ";temp.Format("%04x",memory[pc+1]);UResult+=temp;UResult+="  ";
		            pc++;UResult+="MVRD  R";temp.Format("%d",DR);UResult+=temp;UResult+=",   ";
					temp.Format("%04x",memory[pc]);UResult+=temp;UResult+="\r\n";pc++;break;
		case 0x8c00:temp.Format("%04x",pc);UResult=temp;UResult+=":";temp.Format("%04x",memory[pc]);
			        UResult+=temp;UResult+="        POPF\r\n";pc++;break;
		case 0x8f00:temp.Format("%04x",pc);UResult=temp;UResult+=":";temp.Format("%04x",memory[pc]);
			        UResult+=temp;UResult+="        RET\r\n";pc++;break;
		case 0xce00:temp.Format("%04x",pc);UResult=temp;UResult+=":";temp.Format("%04x",memory[pc]);
			        UResult+=temp;UResult+="  ";temp.Format("%04x",memory[pc+1]);UResult+=temp;UResult+="  ";
		            pc++;ADR=getadr();UResult+="CALA  ";temp.Format("%04x",ADR);UResult+=temp;
					UResult+="\r\n";pc++;break;
		case 0x2000:DR=getdr();SR=getsr();temp.Format("%04x",pc);UResult=temp;
			        UResult+=":";temp.Format("%04x",memory[pc]);UResult+=temp;UResult+="  ";
			        UResult+="      ADC   R";temp.Format("%d",DR);UResult+=temp;UResult+=",   R";
			        temp.Format("%d",SR);UResult+=temp;UResult+="\r\n";pc++;break;
		case 0x2100:DR=getdr();SR=getsr();temp.Format("%04x",pc);UResult=temp;
			        UResult+=":";temp.Format("%04x",memory[pc]);UResult+=temp;UResult+="  ";
			        UResult+="      SBB   R";temp.Format("%d",DR);UResult+=temp;UResult+=",   R";
			        temp.Format("%d",SR);UResult+=temp;UResult+="\r\n";pc++;break;
		case 0x2a00:DR=getdr();temp.Format("%04x",pc);UResult=temp; UResult+=":";temp.Format("%04x",memory[pc]); 
			        UResult+=temp;UResult+="  ";UResult+="      RCL   R";temp.Format("%d",DR);UResult+=temp;
			        UResult+="\r\n";pc++;break;
		case 0x2b00:DR=getdr();temp.Format("%04x",pc);UResult=temp; UResult+=":";temp.Format("%04x",memory[pc]); 
			        UResult+=temp;UResult+="  ";UResult+="      RCR   R";temp.Format("%d",DR);UResult+=temp;
			        UResult+="\r\n";pc++;break;
		case 0x2c00:DR=getdr();temp.Format("%04x",pc);UResult=temp; UResult+=":";temp.Format("%04x",memory[pc]); 
			        UResult+=temp;UResult+="  ";UResult+="      ASR   R";temp.Format("%d",DR);UResult+=temp;
			        UResult+="\r\n";pc++;break;
		case 0x2d00:DR=getdr();temp.Format("%04x",pc);UResult=temp; UResult+=":";temp.Format("%04x",memory[pc]); 
			        UResult+=temp;UResult+="  ";UResult+="      NOT   R";temp.Format("%d",DR);UResult+=temp;
			        UResult+="\r\n";pc++;break;
		case 0x6000:SR=getsr();temp.Format("%04x",pc);UResult=temp;UResult+=":";temp.Format("%04x",memory[pc]);
			        UResult+=temp;UResult+="  ";UResult+="      JMPR  R";temp.Format("%d",SR);UResult+=temp;UResult+="\r\n";
			        pc++;break;
		case 0x6400:OFFSET=getoffset();ADR=pc+OFFSET+1;temp.Format("%04x",pc);UResult=temp;
			        UResult+=":";temp.Format("%04x",memory[pc]);UResult+=temp;UResult+="  ";
			        UResult+="      JRS   ";temp.Format("%04x",ADR);UResult+=temp;UResult+="\r\n";pc++;break;
		case 0x6500:OFFSET=getoffset();ADR=pc+OFFSET+1;temp.Format("%04x",pc);UResult=temp;
			        UResult+=":";temp.Format("%04x",memory[pc]);UResult+=temp;UResult+="  ";
			        UResult+="      JRNS  ";temp.Format("%04x",ADR);UResult+=temp;UResult+="\r\n";pc++;break;
		case 0x6c00:temp.Format("%04x",pc);UResult=temp;UResult+=":";temp.Format("%04x",memory[pc]);
			        UResult+=temp;UResult+="        CLC\r\n";pc++;break;
		case 0x6d00:temp.Format("%04x",pc);UResult=temp;UResult+=":";temp.Format("%04x",memory[pc]);
			        UResult+=temp;UResult+="        STC\r\n";pc++;break;		
		case 0x6e00:temp.Format("%04x",pc);UResult=temp;UResult+=":";temp.Format("%04x",memory[pc]);
			        UResult+=temp;UResult+="        EI\r\n";pc++;break;
        case 0x6f00:temp.Format("%04x",pc);UResult=temp;UResult+=":";temp.Format("%04x",memory[pc]);
			        UResult+=temp;UResult+="        DI\r\n";pc++;break;
		case 0xe000:SR=getsr();temp.Format("%04x",pc);UResult=temp;UResult+=":";temp.Format("%04x",memory[pc]);
			        UResult+=temp;UResult+="  ";UResult+="      CALR  R";temp.Format("%d",SR);UResult+=temp;UResult+="\r\n";
			        pc++;break;
		case 0xe400:DR=getdr();temp.Format("%04x",pc);UResult=temp;UResult+=":";temp.Format("%04x",memory[pc]);
			        UResult+=temp;UResult+="  ";temp.Format("%04x",memory[pc+1]);UResult+=temp;UResult+="  ";
			        pc++;ADR=getadr();UResult+="LDRR  R";temp.Format("%d",DR);UResult+=temp;UResult+=",   [";
					temp.Format("%04x",ADR);UResult+=temp;UResult+="]\r\n";pc++;break;
		case 0xe500:DR=getdr();SR=getsr();temp.Format("%04x",pc);UResult=temp;UResult+=":";temp.Format("%04x",memory[pc]);
			        UResult+=temp;UResult+="  ";temp.Format("%04x",memory[pc+1]);UResult+=temp;UResult+="  ";
                    pc++;ADR=getadr();UResult+="LDRX  R";temp.Format("%d",DR);UResult+=temp;UResult+=",   ";
					temp.Format("%04x",ADR);UResult+=temp;UResult+="[R";temp.Format("%d",SR);UResult+=temp;UResult+="]\r\n";
                    pc++;break;
		case 0xe600:DR=getdr();SR=getsr();temp.Format("%04x",pc);UResult=temp;UResult+=":";temp.Format("%04x",memory[pc]);
			        UResult+=temp;UResult+="  ";temp.Format("%04x",memory[pc+1]);UResult+=temp;UResult+="  ";
                    pc++;ADR=getadr();UResult+="STRX  R";temp.Format("%d",DR);UResult+=temp;UResult+=",   ";
					temp.Format("%04x",ADR);UResult+=temp;UResult+="[R";temp.Format("%d",SR);UResult+=temp;UResult+="]\r\n";
                    pc++;break;
		case 0xe700:SR=getsr();temp.Format("%04x",pc);UResult=temp;UResult+=":";temp.Format("%04x",memory[pc]);
			        UResult+=temp;UResult+="  ";temp.Format("%04x",memory[pc+1]);UResult+=temp;UResult+="  ";
		            pc++;ADR=getadr();
					UResult+="STRA  [";temp.Format("%04x",ADR);UResult+=temp;UResult+="],   R";
					temp.Format("%d",SR);UResult+=temp;UResult+="\r\n";pc++;break; 
        case 0xef00:temp.Format("%04x",pc);UResult=temp;UResult+=":";temp.Format("%04x",memory[pc]);
			        UResult+=temp;UResult+="        IRET\r\n";pc++;break;
		default:temp.Format("%04x",pc);UResult=temp;UResult+=":";temp.Format("%04x",memory[pc]);
			    UResult+=temp;UResult+="        DW    ";UResult+=temp;UResult+="\r\n";pc++;break;
        }
        CurrentlengthAll=pEdit->GetWindowTextLength();
 	    pEdit->SetSel(CurrentlengthAll,CurrentlengthAll);
	    pEdit->ReplaceSel(UResult);
	}
	    UResult="\r\n>";
        CurrentlengthAll=pEdit->GetWindowTextLength();

⌨️ 快捷键说明

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