Skip to content

Repository files navigation

C Programming & Assembly Fundamentals

Complete collection of C programming, data structures, algorithms, and low-level assembly implementations (x86-64 & RISC-V).

C x86-64 RISC--V


📚 What's Inside

  • 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

🔧 Quick Compilation

x86-64 (Native)

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

RISC-V (Cross-Compile)

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


📂 Core Programs

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

🛠️ Build Artifacts Explained

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

🚀 How to Use

Compile any program gcc program.c -o program ./program

View assembly objdump -d program > disasm.txt cat disasm.txt


📊 Algorithm Complexity

Algorithm Time Space
Bubble Sort O(n²) O(1)
Binary Search O(log n) O(1)
Linked List O(n) O(n)

📧 Author

Axay Ram
GitHub: github.com/AxayRam
Email: axay19392@gmail.com


Star this repo if helpful!

About

Comprehensive C programming basics with practical examples covering syntax, loops, functions, arrays, pointers, memory concepts, and problem-solving.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages