|
|
|
Show HN: Charm – A Toy Assembler for ARMv7
(github.com)
|
|
3 points
by quruquru
450 days ago
|
|
Hello HN, I wrote a tiny assembler and I thought that some of you might find it neat. Charm is an assembler for the ARMv7 ISA (the old 32 bit one). It implements around 20 instructions, a few preprocessor directives and it can generate simple ELF executable files. It has enough features that you can write simple programs with it. Charm is implemented in a single C file of around 1800 lines of code, and it doesn't need any dependencies: compilation is just `cc charm.c -o charm`, though you'll need a recent compiler because it uses some C23 features. Usage is just `./charm hello.S hello`, it doesn't generate object files: it just goes straight to an executable. You can run the program on a normal ARM Linux machine without doing anything special. I wrote Charm for fun, and not for any serious purposes. I was originally working on a hobby operating system and thought it could be cool to technically have a way of writing new programs without relying on an external system. |
|