No description
- Rust 100%
| src | ||
| .gitignore | ||
| ARCH.md | ||
| Cargo.lock | ||
| Cargo.toml | ||
| main.kiss | ||
| main.rvm | ||
| README.md | ||
| RVM.md | ||
KISSasm
(pronounced "Kizzasm" | ˌkɪzˈæzəm)
Keep It Stupid, Simple assembly
Introduction
KISSasm is a high-level language specifically for enabling easy writing of programs for my custom architecture, RVM-32. For detailed information on the architecture itself, please refer to ARCH.md. The smallest program is literally this:
@BLCK start $4000 {
!HALT
}
This creates a data block mapped to address 0x4000, containing just one instruction: HALT.
As you can probably tell, this language does logic and memory mapping all at once. No linker script needed, because the information is already clearly readable in your code.
The best thing: Blocks are namespaced and globally accessible:
@BLCK data $2000 {
@VAR age = #18
}
@BLCK start $4000 {
reg:0 <- data.age // Loads age from block "data" by value
!HALT
}