Exemplo n.º 1
0
char* toHexa(int n) {

    char* retour = malloc(sizeof(char)*40);
    //char retour[20];

    if (n >= 0 && n <= 9) {
        sprintf(retour,"%d",n);
        retour;

    } else if (n == 10)
        return "A";
    else if (n == 11)
        return "B";
    else if (n == 12)
        return "C";
    else if (n == 13)
        return "D";
    else if (n == 14)
        return "E";
    else if (n == 15)
        return "F";
    else if (n > 15) {
        int modulo = n % 16;
        int quotient = n / 16;

        strcpy(retour,toHexa(quotient));
        strcat(retour,toHexa(modulo));
    }

    return retour;
}
Exemplo n.º 2
0
void stateRegister(int* reg, int PC, int SP, int SR) {
    printf("\n\nEtat des registres :");

    int j;
    for(j=0; j<8; j++) {
        printf("\nR%d : 0x%s",j,toHexa(reg[j]));
    }

    // Affichage en hexa des registres. On peut changer et passer en binaire.
    printf("\n\nPC : 0x%s",toHexa(PC));
    printf("\nSP : 0x%s",toHexa(SP));
    printf("\nSR : 0x%s",toHexa(SR));
}
Exemplo n.º 3
0
Arquivo: dmps.c Projeto: Haelia/ASE
int main (int argc, char ** argv) {
	int i;
	unsigned int cylinder, sector;
	unsigned char buffer[BUFSIZE];
	
	if(argc !=3){
		printf("Format necessite 2 arguments: le cylindre et le secteur\n");
		exit(EXIT_FAILURE);
	}

	
	
	cylinder = atoi(argv[1]);
	sector = atoi(argv[2]);
	
	
	/* initialisation hardware */
	if(init_hardware(HARDWARE_INI) == 0) {
		fprintf(stderr, "Erreur lors de l'initialisation du hardware\n");
		exit(EXIT_FAILURE);
	}
	for(i = 0; i < 15; i++)
		IRQVECTOR[i] = nothing;
	
	
	read_sector(cylinder,sector,buffer);
	toHexa(buffer);
	exit(EXIT_SUCCESS);
}
void TankFile::readAndValidateHeader()
{
	// Read in the header:
	fileHeader.productId      = readFourCC();
	fileHeader.tankId         = readFourCC();
	fileHeader.headerVersion  = readU32();
	fileHeader.dirsetOffset   = readU32();
	fileHeader.filesetOffset  = readU32();
	fileHeader.indexSize      = readU32();
	fileHeader.dataOffset     = readU32();
	fileHeader.productVersion = readProductVersion();
	fileHeader.minimumVersion = readProductVersion();
	fileHeader.priority       = static_cast<TankFile::Priority>(readU32());
	fileHeader.flags          = readU32();
	fileHeader.creatorId      = readFourCC();
	fileHeader.guid           = readGuid();
	fileHeader.indexCrc32     = readU32();
	fileHeader.dataCrc32      = readU32();
	fileHeader.utcBuildTime   = readSystemTime();
	readBytes(fileHeader.copyrightText, sizeof(fileHeader.copyrightText));
	readBytes(fileHeader.buildText,     sizeof(fileHeader.buildText));
	readBytes(fileHeader.titleText,     sizeof(fileHeader.titleText));
	readBytes(fileHeader.authorText,    sizeof(fileHeader.authorText));
	fileHeader.descriptionText = readWNString();

	// Optional debug printing:
	#if SIEGE_TANK_DEBUG
	SiegeLog("====== TANK HEADER FOR FILE: \"" << fileName << "\" ======");
	SiegeLog("productId.........: " << fileHeader.productId);
	SiegeLog("tankId............: " << fileHeader.tankId);
	SiegeLog("headerVersion.....: " << versionWordToStr(fileHeader.headerVersion));
	SiegeLog("dirsetOffset......: " << toHexa(fileHeader.dirsetOffset)  << " (" << utils::formatMemoryUnit(fileHeader.dirsetOffset)  << ")");
	SiegeLog("filesetOffset.....: " << toHexa(fileHeader.filesetOffset) << " (" << utils::formatMemoryUnit(fileHeader.filesetOffset) << ")");
	SiegeLog("indexSize.........: " << utils::formatMemoryUnit(fileHeader.indexSize));
	SiegeLog("dataOffset........: " << toHexa(fileHeader.dataOffset) << " (" << utils::formatMemoryUnit(fileHeader.dataOffset) << ")");
	SiegeLog("productVersion....: " << fileHeader.productVersion);
	SiegeLog("minimumVersion....: " << fileHeader.minimumVersion);
	SiegeLog("priority..........: " << priorityToString(fileHeader.priority));
	SiegeLog("flags.............: " << fileHeader.flags);
	SiegeLog("creatorId.........: " << fileHeader.creatorId);
	SiegeLog("Guid..............: " << fileHeader.guid);
	SiegeLog("indexCrc32........: " << toHexa(fileHeader.indexCrc32));
	SiegeLog("dataCrc32.........: " << toHexa(fileHeader.dataCrc32));
	SiegeLog("utcBuildTime......: " << fileHeader.utcBuildTime);
	SiegeLog("copyrightText.....: " << toString(fileHeader.copyrightText));
	SiegeLog("buildText.........: " << toString(fileHeader.buildText));
	SiegeLog("titleText.........: " << toString(fileHeader.titleText));
	SiegeLog("authorText........: " << toString(fileHeader.authorText));
	SiegeLog("descriptionText...: " << toString(fileHeader.descriptionText));
	SiegeLog("====== END TANK HEADER ======");
	#endif // SIEGE_TANK_DEBUG

	// Fatal errors:
	if (fileHeader.productId != TankFile::ProductId)
	{
		SiegeThrow(TankFile::Error, "\"" << fileName
				<< "\": Header product id doesn't match the expected value!");
	}
	if (fileHeader.tankId != TankFile::TankId)
	{
		SiegeThrow(TankFile::Error, "\"" << fileName
				<< "\": Header Tank id doesn't match the expected value!");
	}

	// Warnings:
	if (fileHeader.creatorId != TankFile::CreatorIdGPG &&
	    fileHeader.creatorId != TankFile::CreatorIdUser)
	{
		SiegeWarn("Tank creator id is unknown: " << fileHeader.creatorId);
	}
	if (fileHeader.headerVersion != Header::ExpectedVersion)
	{
		SiegeWarn("Unknown Tank header version: " << fileHeader.headerVersion);
	}
}