Releases: ZippyMagician/arsm
v0.2.4
Changelog
- Phased out
cmp
andjne
jg
etc, in favor of conditionals +cjm
- Added the
ret
command - Bug fixes (including
popN
for inline python) - Inline python can now access the registry
mov ah 3
mov bh 7
mov ex { @ah * @bh } ; ex is now 21
Installation
Ensure you have cargo
installed (most likely via rustup
). Then run cargo install --path path/to/repository
, or cargo install --features inline-python --path path/to/repository
to install with inline python enabled.
Use arsm --help
to get a list of cli options.
v0.2.3
A large enough change has occurred to warrant a new release. In the future, I will announce a new release every version
Changelog
- Bug fixes
- Refactored code
- Added the stack
- Use
stk
to resize it,psh
to add to the stack, andpop
to pop from the stack
- Use
- Added a suite of conditional operands
- along with
ceq
,cne
,cz
,cg
,cge
,cl
,cle
to conditionally check parameters
- along with
- Inline python!
- Inline python can manipulate the stack
- Enable with the feature aptly named
inline-python
. You can use inline python like so:
mov ex { 12 + 4 * 3 }
A more in-depth example, using some of the custom functions that come with inline python (along with the stack):
; Custom abs implementation!
stk 10 ; Set stack size to 10 bytes
psh 2 { -65 } ; Push the 2-byte (i16) integer -65 to stack
out { abs(fromBytes(popN(stk, 2)[::-1])) } ; Output the absolute value of a 2-byte (i16) integer
; from the top of the stack (note: future versions will not require
; you to include the `[::-1]`)
Installation
Ensure you have cargo
installed (most likely via rustup
). Then run cargo install --path path/to/repository
, or cargo install --features inline-python --path path/to/repository
to install with inline python enabled.
Use arsm --help
to get a list of cli options.
v0.2.0
Changelog
First "official" release. As this is the first release, there is no changelog. However, here are the changes since the first commit:
- Bug fixes
- Reworked memory model
- Built in functionality for a stack in the future, reserved storage for future use.
- Registry, flags, stack, and straight memory are all stored in one
alloc
- Added the
cmp
command and relatedjmp
commands - Added the char literal (
'
and any ascii character) - Added the
hlt
,str
,db
,in
,chr
commands - Large refactor of the code to improve performance and readability
- More cli options (
-t/--time
,-u/--user
,-f/--file
)
Installation
Ensure you have cargo
installed (most likely via rustup
). Then run cargo install --path path/to/repository
.
Use arsm --help
to get a list of cli options