Dr_Quine/README.md
2026-06-27 15:11:32 +02:00

24 lines
1.1 KiB
Markdown

# Dr_Quine
A **quine** is a program that prints its own source code without reading any
file. This project implements quines in 3 languages: **C**, **x86-64
Assembly**, and **Shell**.
The replication logic relies on a string that contains the source code of the
program itself. When a special placeholder character (`$`) is encountered while
printing that string, the program switches into *escape mode* and prints the
string again — this time with special characters escaped — so the output is
valid source code. Every other character is printed as-is. The result is a
perfect copy of the original source.
## Programs
- **Colleen** — simple quine, prints its source to stdout
- **Grace** — writes its source into a new file `Grace_Kid.c`
- **Sully** — generates and compiles a child program, then runs it, counting
down from 5 to 0
> **Warning:** The assembly code in this project does not follow the System V
> AMD64 ABI — calling conventions, callee-saved/caller-saved registers, and
> stack alignment are not properly respected. This was my first program in
> assembly.