diff options
author | Kartik K. Agaram <vc@akkartik.com> | 2017-07-11 21:41:15 -0700 |
---|---|---|
committer | Kartik K. Agaram <vc@akkartik.com> | 2017-07-11 21:41:15 -0700 |
commit | 11304f1063265092683470d374060042bd858b41 (patch) | |
tree | b23562a8a7b65e0202c5508317db005c0f8363ab | |
parent | 49559e007b8049164fecb2750a8a736a3495b589 (diff) | |
download | mu-11304f1063265092683470d374060042bd858b41.tar.gz |
3968
-rw-r--r-- | subx/Readme.md | 2 | ||||
-rw-r--r-- | subx/opcodes | 66 |
2 files changed, 68 insertions, 0 deletions
diff --git a/subx/Readme.md b/subx/Readme.md index d68cc331..4a444b0a 100644 --- a/subx/Readme.md +++ b/subx/Readme.md @@ -1 +1,3 @@ Bytecode interpreter for a subset of the 32-bit x86 ISA. + +I'm currently building this over at https://github.com/tekknolagi/stackx/tree/ak diff --git a/subx/opcodes b/subx/opcodes new file mode 100644 index 00000000..8d9ca2f6 --- /dev/null +++ b/subx/opcodes @@ -0,0 +1,66 @@ +idle + 90/nop/xchg-eax-eax +copy + mov r/m32 r32: 89 + mov r32 r/m32: 8b + mov r/m32 imm32: c7 + memcpy + $copy_and_increment_refcounts destination, source, [type descriptor] + +add +subtract +multiply +divide +divide-with-remainder +square-root +shift-right +shift-left +not +flip-bits +or +or-bits +and +and-bits +xor-bits +equal +not-equal +lesser-than +lesser-or-equal +greater-than +greater-or-equal +round +truncate +max +min +random +jump +jump-if +jump-unless +call (dynamic) +return +next-ingredient +ingredient +rewind-ingredients +character-to-code +new _, _ +length +index +put-index +new _ +get +put +maybe-convert +trace +to-text +deep-copy +hash +wait-for-reset-then-set +reset +get-location +wait-for-routine +switch +current-routine-is-blocked +current-routine-is-unblocked +wait-for-routine-to-block +restart +limit-time |