Commit Graph

29 Commits (02f73a21f4b72a3ed16cf7bd471a9a10c43d885c)

Author SHA1 Message Date
Ondřej Hruška 02f73a21f4
fixes, safeguards and docs for "compile-time arithmetics" 4 years ago
Ondřej Hruška 3999c51eb7
implement a more readable bit mask syntax, add (ldXX Wr Rd Rd) with separate dest and both sources 4 years ago
Ondřej Hruška e0e45bd223
implement bit copy and swap with any size and offset using a special new syntax 4 years ago
Ondřej Hruška 2d4f6b4af1
implement "lds" for objects (buffers, cin) 4 years ago
Ondřej Hruška 5b163e969f
add the "lds" instruction 4 years ago
Ondřej Hruška c953e39b34
Add ld{32,16,8},sw{32,16,8},clz{,32,16,8},clo{,32,16,8},rng,rev,rbit; rename swap->xch 4 years ago
Ondřej Hruška 4062ff4d09
AMAZING NEW FEATURES ldn, bfio 4 years ago
Ondřej Hruška ace92a6411
rewrite the stdio module to be less broken. also add sehbang support 4 years ago
Ondřej Hruška 982ba27ed3
cleanup, auto deref Wd, Wr, RdObj 4 years ago
Ondřej Hruška 7a3cb539e1
add new rdwr access type to guard against illegal writes that can be caught at compile time 4 years ago
Ondřej Hruška d5821e3552
add "swap" instr, document buffer ops 4 years ago
Ondřej Hruška aae9db0598
fix branch parser eating all list tokens 4 years ago
Ondřej Hruška ee59096821
buffer module, replacing stacks. TODO: docs, fix parsing of "numbers tuple" in mkbfv (consumed by the conditional branch parser) 4 years ago
Ondřej Hruška 1f2dbaa81d
add better string and number parsing to sexp. cleaning, more tests 4 years ago
Ondřej Hruška 33ec1461e4
remove unnecessary cloning of SourcePosition, reduce SourcePosition size. clean, format 4 years ago
Ondřej Hruška 6eef2b7ae3
cleaning 4 years ago
Ondřej Hruška fe8bf87e6d
add round-trip tests for built-in instructions 4 years ago
Ondřej Hruška 05104c93ca
fix ld printed as mov 4 years ago
Ondřej Hruška 34e339b1ca
add pretty-printer for assembled instructions 4 years ago
Ondřej Hruška 986f3be6a2
cleanup. remove conditional jumps, replaced by condition embedded in the enum 4 years ago
Ondřej Hruška 810ed2dddc
optimize labels, jumps 4 years ago
Ondřej Hruška c37408c7a2 read program from file; fmt, cleanup 4 years ago
Ondřej Hruška 01068ea001
crazy hypno + added sleep cmd 4 years ago
Ondřej Hruška 3599cb46c4
cleanup, optimize. use Arc for reference sharing 4 years ago
Ondřej Hruška d5de189af6
add more sensible API for object handles, add drop instruction 4 years ago
Ondřej Hruška 79d5aa3cd5
renaming, cleanup, fmt, move "extension module" traits and structs into a separate mod 4 years ago
Ondřej Hruška 8222efe6da
remove "immediate ptr" data type, move read, write funcs to RunState, add %objectPtr syntax 4 years ago
Ondřej Hruška 0cd800653f
Example extension: Stacks; fixes to allow module data storage in thread context 4 years ago
Ondřej Hruška 3e0aaa71e9
Convert builtin ops into a pseudo-extension 4 years ago
Ondřej Hruška 1d444fd516
cleaning 4 years ago
Ondřej Hruška ba0e3d0fd2
preparations for module data storage, remove broken tests (dyn trait can't implement PartialEq because ???) 4 years ago
Ondřej Hruška 44e7cd3a8f
renames, improve module API (avoid cloning) 4 years ago
Ondřej Hruška f015104b95
re-arrange modules, add "plug-in" system so instructions can be defined in multiple crates 4 years ago
Ondřej Hruška 8f076e195a
format 4 years ago
Ondřej Hruška 8e7689df48
add explicit retval arg to all instrs (can be shortened), add Wr::discard() 4 years ago
Ondřej Hruška f652ff6669
dump sreg, add new ops 4 years ago
Ondřej Hruška 88a4d77b8f
implement call, ret, far jumps, add, sub 4 years ago
Ondřej Hruška 5f4fd0e806
exec 4 years ago
Ondřej Hruška def2fc8db0
add low level ops enum 4 years ago
Ondřej Hruška ab843c0c87
add jumps_to_skips transform 4 years ago
Ondřej Hruška 30cd0304d2
Initial 4 years ago