You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The README.md also sometimes has to be updated as many things inside the repository change.
This change adds the idea that the instructions can also be executed, the examples that were added and that the project is not as far away from a more stable version as before.
Copy file name to clipboardExpand all lines: README.md
+8-4Lines changed: 8 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,16 +2,15 @@
2
2
A library to parse and execute custom ASM.
3
3
4
4
> [!IMPORTANT]
5
-
> This project is still under construction. Nothing has to work and probably nothing does work.
5
+
> This project is still under construction. But it is nearly in a state that is very usable. 😄
6
6
7
7
It is a light‑weight Lua library that lets you define, parse and later execute a custom assembly‑like language. <br />
8
8
And the libary is deliberately minimal:
9
9
- No external dependencies – pure Lua 5.1+.
10
10
- Pluggable instruction set – you decide which mnemonics exist and how their operands are interpreted.
11
11
- Configurable syntax – label delimiters, immediate prefixes, register prefixes, etc., are all driven by a settings table.
12
12
- Tokenizer abstraction – you can feed source from a string, a file, or any other stream by providing a get_next_line method.
13
-
14
-
The project is currently a prototype; the execution engine is not yet implemented, but the parsing infrastructure is functional enough to be used as a foundation for a custom assembler or a teaching tool.
13
+
- Execute the code - you can also define the behaviour of the instruction and with that execute this code.
15
14
16
15
## Installation
17
16
Because LuASM is a single Lua file, installation is straightforward:
@@ -30,7 +29,7 @@ luasm.lua # <-- the file you just saw
30
29
31
30
No external libraries are required; the code runs on any Lua interpreter (5.1, 5.2, 5.3, LuaJIT, etc.).
32
31
33
-
## Quick Start (stuff that currently works)
32
+
## Quick Start
34
33
```lua
35
34
-- 1. Define the instruction set
36
35
localinstructions= {
@@ -72,5 +71,10 @@ Label: start -> line: 1
72
71
3 jmp
73
72
```
74
73
74
+
## Examples
75
+
To see other examples, they can be found in the [`examples/`](examples) directory. To execute them the README inside this directory should be followed.
76
+
77
+
These examples are numbered so that they ban be viewed in sequential order.
78
+
75
79
## License
76
80
LuASM is released under the MIT License – you are free to use, modify, and distribute it in your projects. See the [LICENSE](LICENSE) file for the full text.
0 commit comments