Complete collection of C programming, data structures, algorithms, and low-level assembly implementations (x86-64 & RISC-V).
- C Programs: Control flow, data structures, algorithms, real-world applications
- Assembly: x86-64 and RISC-V compilation, disassembly, binary analysis
- Algorithms: Bubble sort, binary search, linked lists
- Real-world: ATM system, audio processing, system simulations
gcc -S main.c -o main.s # C → Assembly as main.s -o main.o # Assembly → Object gcc main.o -o main # Link & Execute ./main
riscv64-linux-gnu-gcc -S -o main.s main.c riscv64-linux-gnu-as -o main.o main.s riscv64-linux-gnu-ld -o main main.o -lc -static qemu-riscv64 ./main
| File | Purpose |
|---|---|
| array.c | 1D/2D arrays, dynamic memory |
| pointer.c | Pointer operations, arithmetic |
| struct.c | Structures, memory layout |
| bubboleshootinarray.c | Bubble sort - O(n²) |
| binarysearch.c | Binary search - O(log n) |
| linkdlistinsertlist.c | Linked list operations |
| dowhileatmcashwithdrawal.c | ATM system simulation |
| digitalaudio.c | PCM audio generation |
| File Type | Description |
|---|---|
| *.c | Source C files |
| *.s | Assembly (generated by gcc -S) |
| *.o | Object files (compiled, not linked) |
| Binary (no extension) | Final executable |
| disasm.txt | Disassembled binary output |
Compile any program gcc program.c -o program ./program
View assembly objdump -d program > disasm.txt cat disasm.txt
| Algorithm | Time | Space |
|---|---|---|
| Bubble Sort | O(n²) | O(1) |
| Binary Search | O(log n) | O(1) |
| Linked List | O(n) | O(n) |
Axay Ram
GitHub: github.com/AxayRam
Email: axay19392@gmail.com
⭐ Star this repo if helpful!