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", ¤tLine); 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"); }
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"); }