This repository contains the practical workshops for the Technological Infrastructure course. Each folder includes a standalone C program focused on low-level data representation, performance, or hardware-oriented computation.
- Focus: Binary file parsing and data layout.
- What it does: Reads a fixed-size binary record with fields like code, names, ID, date, and an Islamic year offset. It handles endianness for numeric fields and prints parsed values.
- Technologies: C standard library (
stdio.h,stdlib.h) and binary I/O (fopen,fread,fseek,ftell).
- Focus: Bus throughput computation.
- What it does: Prompts for bus width, transfers per cycle, and clock speed, then computes transfer rate in MB/s.
- Technologies: C standard library I/O (
stdio.h).
- Focus: Bit-level manipulation and vector operations in C.
- What it does: Reverses the bit order of each integer in a vector, then reverses the order of the vector elements. Outputs results in hexadecimal.
- Technologies: C standard library, dynamic memory (
calloc).
- Focus: Bit manipulation using inline assembly.
- What it does: Same functional goal as TP3, but the bit reversal is implemented in x86 inline assembly for low-level control.
- Technologies: C with x86 inline assembly (
__asm).
- Focus: Full vector transformation using inline assembly.
- What it does: Implements both bit reversal and vector element swapping using x86 inline assembly, keeping the C interface for I/O and memory management.
- Technologies: C with x86 inline assembly (
__asm), dynamic memory (calloc,free).