Skip to content

femtoasm is a tiny (291 bytes) self-hosting x86-64 assembler inspired by stage0.

License

Notifications You must be signed in to change notification settings

LHLaurini/femtoasm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

femtoasm

femtoasm is a tiny (291 bytes) self-hosting x86-64 assembler inspired by stage0.

In fact, the assembler itself takes only 171 bytes - the remaining 120 are needed for the ELF header.

femtoasm has 3 implementations: C++23, Flat Assembler and femtoasm. Only the C++23 implementation performs error handling, while the others assume the code is correct. Otherwise, as long as a program is valid and compiles on the C++23 implementation, all three implementations should generate the exact same binary.

For an example, see femtoasm itself.

Syntax




About

femtoasm is a tiny (291 bytes) self-hosting x86-64 assembler inspired by stage0.

Topics

Resources

License

Stars

Watchers

Forks