generated from loic/c-template
feat: README
This commit is contained in:
parent
0974151b85
commit
e1cac57dce
1 changed files with 23 additions and 0 deletions
23
README.md
23
README.md
|
|
@ -1 +1,24 @@
|
|||
# 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.
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue