Skip to content

Releases: ZippyMagician/arsm

v0.2.4

03 Feb 00:30
Compare
Choose a tag to compare

Changelog

  • Phased out cmp and jne 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

26 Jan 02:11
Compare
Choose a tag to compare

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, and pop to pop from the stack
  • Added a suite of conditional operands
    • along with ceq, cne, cz, cg, cge, cl, cle to conditionally check parameters
  • 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

22 Jan 17:26
Compare
Choose a tag to compare

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 related jmp 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