void printLine()
{
	unsigned currentLine = lines, i;
	
	if (lines == 0)
	{
		printf("Please enter the parameters first...\n\n");
		return;
	}
	printf("Enter line of cache to print: ");
	scanf("%u", &currentLine);
	if (currentLine >= lines)
	{
		error("Line can't be larger than/equal to total cache lines...");
	}
	//Print out the cache graph
	printDashes();
	printf("| Line   | Tag    |");
	for (i = 0; i < blockSize; i++)
	{
		printf(" Word %-2u |", i);
	}
	printf("\n");
	printDashes();
	printf("| %-6u | %-6d |", currentLine, cache[currentLine].tag);
	for (i = 0; i < blockSize; i++)
	{
		printf(" %-7d |", cache[currentLine].block[i]);
	}
	printf("\n");
	printDashes();
	printf("\n");
}
Exemple #2
0
void printStack(Stack* S) {
	unsigned n = computeNrDashes(S);
	printDashes(n);
	printf("\n|");
	for (unsigned i = 0; i < S->stackPointer; ++i) {
		printElement(S->array[i]);
	}
	printf("\n");
	printDashes(n);
	printf("\n");
}