📄 globalwatch.cpp
字号:
// GlobalWatch.cpp: implementation of the GlobalWatch class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
//#include "8051class.h"
#include "GlobalWatch.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
GlobalWatch::GlobalWatch()
{
SignStr=new TCHAR[4096*16];
strbuf=new TCHAR[4096*16];
}
GlobalWatch::~GlobalWatch()
{
delete SignStr;
}
int GlobalWatch::FlashSign()
{
sprintf(SignStr,"A=\t0x%02X\tB=\t0x%02X\tPC=\t0x%04X\tSP=\t0x%02X\r\nR0=\t0x%02X\tR1=\
0x%02X\tR2=\t0x%02X\tR3=\t0x%02X\r\nR4=\t0x%02X\tR5=\t0x%02X\tR6=\t0x%02X\tR7=\t0x%02X\r\nP0=\t0x%02X\tP1=\t0x%02X\tP2=\
0x%02X\tP3=\t0x%02X\r\nPSW=\t0x%02X\tTMOD=\t0x%02X\tTCON=\t0x%02X\tSCON=\t0x%02X\r\nSBUF=\t0x%02X\tIP=\t0x%02X\tDPL=\
0x%02X\tDPH=\t0x%02X\r\nTL0=\t0x%02X\tTH0=\t0x%02X\tTL1=\t0x%02X\tTH1=\t0x%02X\r\nPCON=\t0x%02X\
IE=\t0x%02X\r\n\r\n\r\n",(BYTE)(*mem->Am),(BYTE)mem->GetidataMemByte(B),mem->PCm,*(mem->SPm),
(BYTE)pinst->R(0),(BYTE)pinst->R(1),(BYTE)pinst->R(2),(BYTE)pinst->R(3),(BYTE)pinst->R(4),(BYTE)pinst->R(5),(BYTE)pinst->R(6),(BYTE)pinst->R(7),(BYTE)mem->GetidataMemBytef(P0),
(BYTE)mem->GetidataMemBytef(P1),(BYTE)mem->GetidataMemBytef(P2),(BYTE)mem->GetidataMemBytef(P3),(BYTE)mem->GetidataMemByte(PSW),(BYTE)mem->GetidataMemBytef(TMOD),
(BYTE)mem->GetidataMemBytef(TCON),(BYTE)mem->GetidataMemBytef(SCON),(BYTE)mem->GetidataMemBytef(SBUF),(BYTE)mem->GetidataMemBytef(IP),(BYTE)mem->GetidataMemBytef(DPL),
(BYTE)mem->GetidataMemBytef(DPH),(BYTE)mem->GetidataMemByte(TL0),(BYTE)mem->GetidataMemByte(TH0),(BYTE)mem->GetidataMemByte(TL1),(BYTE)mem->GetidataMemByte(TH1),
(BYTE)mem->GetidataMemBytef(PCON),(BYTE)mem->GetidataMemBytef(IE));
sprintf(strbuf,"内部寄存器空间\r\n地址0x00: ");
strcat(SignStr,strbuf);
for(int i=0;i<=255;i++)
{
sprintf(strbuf,"%02X ",mem->idata[i]);
strcat(SignStr,strbuf);
if((i+1)%16==0&&i!=255)
{
sprintf(strbuf,"\r\n地址0x%02X: ",(i+1));
strcat(SignStr,strbuf);
}
}
sprintf(strbuf,"\r\n周期数:%d\r\n",mem->CLKNUML);
strcat(SignStr,strbuf);
sprintf(strbuf,"code-5=0x%04X %02X %02X %02X %02X %02X \r\ncode 0=0x%04X %02X %02X %02X %02X %02X",mem->PCm-5,code(-5),code(-4),code(-3),code(-2),code(-1),mem->PCm,code(0),code(1),code(2),code(3),code(4));
strcat(SignStr,strbuf);
//sprintf(strbuf,"\r\n串口发送数据数目:%d\r\n",var8051[0]->PS->bufpos-var8051[0]->PS->databuf1);
//strcat(SignStr,strbuf);
// sprintf(SignStr,"R0=%02X",pinst->GetRndata(0));
return false;
}
TCHAR * GlobalWatch::GetSignStr()
{
return SignStr;
}
int GlobalWatch::SetMem(instruction * pinsts)
{
pinst=pinsts;
mem=pinst->mem;
return false;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -