strawberryvm

Crates.iostrawberryvm
lib.rsstrawberryvm
version0.2.0
sourcesrc
created_at2024-01-20 15:49:48.433524
updated_at2024-01-20 15:49:48.433524
descriptionA fantasy virtual machine with limits on resources.
homepage
repositoryhttps://github.com/BenMcAvoy/StrawberryVM
max_upload_size
id1106574
size31,803
Ben McAvoy (BenMcAvoy)

documentation

README

StrawberryVM

A fantasy virtual machine with limits on resources.

TODO

  • Basic instructions
  • Addition implementation
  • Loading from a file
  • Text to binary
  • Assembler
  • Refactoring
  • Turing completion

Instructions

Name Arguments Description
No Operation None Does nothing.
Push u8 (8-bit value to push) Pushes an 8-bit value onto the stack.
Pop Register Register (destination register) Pops a value from the stack into the specified register.
Push Register Register (source register) Pushes the value of the specified register onto the stack.
Add Stack None Adds the top two values on the stack.
Add Register Two Registers (operands) Adds the values of two registers and stores the result in the destination register.
Signal u8 (signal value) Sends a signal with an 8-bit value.
Jump u8 (target address) Jumps to the specified address in the program.

Reserved symbols

Symbol Use
$ Hexadecimal value
% Binary value
^ Label value

Credits

This project is following along with the live streams by TomMarksTalksCode and this project would not have been possible without him. He can also be found on GitHub and on his website.

Commit count: 0

cargo fmt