doc: README.md

This commit is contained in:
mappu 2023-12-11 19:33:22 +13:00
parent afac87e1a9
commit 01a8281bc9
1 changed files with 29 additions and 0 deletions

29
README.md Normal file
View File

@ -0,0 +1,29 @@
# pxasme
A single-pass x86_64 assembler that emits relocatable ELF64 objects.
## Usage
```bash
pxasme -Src myapp.asm -Dest myapp.o
ld -s -o myapp myapp.o
./myapp
```
## Status
- [X] Lexer
- [X] "Variables" in data/rodata (u8, u16, u32, u64, sz)
- [X] C-style addressing (bare or `&`)
- [ ] Unified public/private, import/export syntax
- [X] State machine parser for opcode arguments
- [X] Parser
- [X] mov, ret, syscall, sections, variables
- [X] strlen($var) compile-time function
- [ ] more isa ops
- [X] Code generation
- [X] Generate ELF64 binaries
- [X] Relocations
- [X] `R_X86_64_32S` (n.b. not PIC)
- [X] `R_X86_64_64`
- [ ] Freestanding mode