void AsmJsByteCodeDumper::DumpAsmReg4(OpCodeAsmJs op, const unaligned T * data, FunctionBody * dumpFunction, ByteCodeReader& reader)
 {
     DumpReg(data->R0);
     DumpReg(data->R1);
     DumpReg(data->R2);
     DumpReg(data->R3);
 }
 void AsmJsByteCodeDumper::DumpAsmCall(OpCodeAsmJs op, const unaligned T * data, FunctionBody * dumpFunction, ByteCodeReader& reader)
 {
     if (data->Return != Constants::NoRegister)
     {
         DumpReg((RegSlot)data->Return);
         Output::Print(L"=");
     }
     Output::Print(L" R%d(ArgCount: %d)", data->Function, data->ArgCount);
 }
示例#3
0
文件: smsc951x.cpp 项目: rsta2/circle
void CSMSC951xDevice::DumpRegs (void)
{
	DumpReg ("ID_REV",       ID_REV);
	DumpReg ("INT_STS",      INT_STS);
	DumpReg ("RX_CFG",       RX_CFG);
	DumpReg ("TX_CFG",       TX_CFG);
	DumpReg ("HW_CFG",       HW_CFG);
	DumpReg ("RX_FIFO_INF",  RX_FIFO_INF);
	DumpReg ("PM_CTRL",      PM_CTRL);
	DumpReg ("LED_GPIO_CFG", LED_GPIO_CFG);
	DumpReg ("GPIO_CFG",     GPIO_CFG);
	DumpReg ("AFC_CFG",      AFC_CFG);
	DumpReg ("BURST_CAP",    BURST_CAP);
	DumpReg ("INT_EP_CTL",   INT_EP_CTL);
	DumpReg ("BULK_IN_DLY",  BULK_IN_DLY);
	DumpReg ("MAC_CR",       MAC_CR);
	DumpReg ("ADDRH",        ADDRH);
	DumpReg ("ADDRL",        ADDRL);
	DumpReg ("HASHH",        HASHH);
	DumpReg ("HASHL",        HASHL);
	DumpReg ("FLOW",         FLOW);
	DumpReg ("WUCSR",        WUCSR);
}
 void AsmJsByteCodeDumper::DumpReg1Int32x4_1(OpCodeAsmJs op, const unaligned T * data, FunctionBody * dumpFunction, ByteCodeReader& reader)
 {
     DumpReg(data->R0);
     DumpInt32x4Reg(data->I4_1);
 }
 void AsmJsByteCodeDumper::DumpReg1Float1(OpCodeAsmJs op, const unaligned T * data, FunctionBody * dumpFunction, ByteCodeReader& reader)
 {
     DumpReg(data->R0);
     DumpFloatReg(data->F1);
 }
 void AsmJsByteCodeDumper::DumpReg1Double1(OpCodeAsmJs op, const unaligned T * data, FunctionBody * dumpFunction, ByteCodeReader& reader)
 {
     DumpReg(data->R0);
     DumpDoubleReg(data->D1);
 }
示例#7
0
void Loop(void)
{
	char *tp;
	int sc;
    
	Init();
	for (;;)
	{
		fprintf(stdout, "\n%s cmd: ", Redir);
		Buf[0] = '\0';
		if (fgets(Buf, BUFSIZE, stdin) == NULL)
			continue;
		if ((tp = strtok(Buf, " ,.\t\n\r")) == NULL)
			continue;
		fputc('\n', stdout);
		switch (*tp)
		{
			case 'g': case 'G':
				DisplayControlSignals();
				break;
			case 'r': case 'R':
				DumpReg();
				break;
			case 'm': case 'M':
				if ((tp = strtok(NULL, " ,.\t\n\r")) == NULL)
				{
					DumpMemHex(0, MEMSIZE);
				}
				else
				{
					sc = (int) strtoul(tp, (char **) NULL, 10);
					if ((tp = strtok(NULL, " ,.\t\n\r")) == NULL)
					{
						DumpMemHex(sc, MEMSIZE);
					}
					else
					{
						DumpMemHex(sc, (int) strtoul(tp, (char **) NULL, 10));
					}
				}
				break;
			case 's': case 'S':
				if ((tp = strtok(NULL, " ,.\t\n\r")) == NULL)
					sc = 1;
				else
					sc = (int) strtoul(tp, (char **) NULL, 10);
				while (sc-- > 0 && !Halt)
					Step();
				fprintf(stdout, "%s step\n", Redir);
				break;
			case 'c': case 'C':
				while (!Halt)
					Step();
				fprintf(stdout, "%s cont\n", Redir);
				break;
			case 'h': case 'H':
				fprintf(stdout, "%s %s\n", Redir, Halt ? "true" : "false");
				break;
			case 'p': case 'P':
				rewind(FP);
				sc = 0;
				while (!feof(FP))
				{
					if (fgets(Buf, BUFSIZE, FP))
						fprintf(stdout, "%s % 5d  %s", Redir, sc++, Buf);
				}
				break;
			case 'i': case 'I':
				fprintf(stdout, "%s %d\n", Redir, MEMSIZE);
				break;
			case 'd': case 'D':
				if ((tp = strtok(NULL, " ,.\t\n\r")) == NULL)
				{
					fprintf(stdout, "%s invalid cmd\n", Redir);
					break;
				}
				sc = (int) strtoul(tp, (char **) NULL, 10);
				if ((tp = strtok(NULL, " ,.\t\n\r")) == NULL)
				{
					fprintf(stdout, "%sinvalid cmd\n", Redir);
					break;
				}
				DumpHex(sc, (int) strtoul(tp, (char **) NULL, 10));
				break;
			case 'x': case 'X': case 'q': case 'Q':
				fprintf(stdout, "%s quit\n", Redir);
				if (Redir == (char *) RedirPrefix)
				{
					fprintf(stdout, "%s%s\n", Redir, Redir);
				}
				return;
			default:
				fprintf(stdout, "%s invalid cmd\n", Redir);
				break;
		}
		if (Redir == (char *) RedirPrefix)
		{
			fprintf(stdout, "%s%s\n", Redir, Redir);
		}
	}
}