mirror of
https://github.com/janet-lang/janet
synced 2025-07-07 12:32:55 +00:00
Add new instructions.
parent
fa18463e10
commit
8556c00093
@ -168,7 +168,7 @@ failure to return or error.
|
|||||||
| `bnot` | `(bnot dest operand)` | $dest = ~$operand |
|
| `bnot` | `(bnot dest operand)` | $dest = ~$operand |
|
||||||
| `bor` | `(bor dest lhs rhs)` | $dest = $lhs | $rhs |
|
| `bor` | `(bor dest lhs rhs)` | $dest = $lhs | $rhs |
|
||||||
| `bxor` | `(bxor dest lhs rhs)` | $dest = $lhs ^ $rhs |
|
| `bxor` | `(bxor dest lhs rhs)` | $dest = $lhs ^ $rhs |
|
||||||
| `call` | `(call dest callee)` | $dest = call($callee) |
|
| `call` | `(call dest callee)` | $dest = call($callee, args) |
|
||||||
| `clo` | `(clo dest index)` | $dest = closure(defs[$index]) |
|
| `clo` | `(clo dest index)` | $dest = closure(defs[$index]) |
|
||||||
| `cmp` | `(cmp dest lhs rhs)` | $dest = dst\_compare($lhs, $rhs) |
|
| `cmp` | `(cmp dest lhs rhs)` | $dest = dst\_compare($lhs, $rhs) |
|
||||||
| `debug` | `(debug)` | Suspend current fiber |
|
| `debug` | `(debug)` | Suspend current fiber |
|
||||||
@ -191,6 +191,7 @@ failure to return or error.
|
|||||||
| `jmp` | `(jmp label)` | pc = label, pc += offset |
|
| `jmp` | `(jmp label)` | pc = label, pc += offset |
|
||||||
| `jmpif` | `(jmpif cond label)` | if $cond pc = label else pc++ |
|
| `jmpif` | `(jmpif cond label)` | if $cond pc = label else pc++ |
|
||||||
| `jmpno` | `(jmpno cond label)` | if $cond pc++ else pc = label |
|
| `jmpno` | `(jmpno cond label)` | if $cond pc++ else pc = label |
|
||||||
|
| `len` | `(len dest ds)` | $dest = length(ds) |
|
||||||
| `ldc` | `(ldc dest index)` | $dest = constants[index] |
|
| `ldc` | `(ldc dest index)` | $dest = constants[index] |
|
||||||
| `ldf` | `(ldf dest)` | $dest = false |
|
| `ldf` | `(ldf dest)` | $dest = false |
|
||||||
| `ldi` | `(ldi dest integer)` | $dest = integer |
|
| `ldi` | `(ldi dest integer)` | $dest = integer |
|
||||||
@ -202,7 +203,12 @@ failure to return or error.
|
|||||||
| `lti` | `(lti dest lhs rhs)` | $dest = $lhs \<i $rhs |
|
| `lti` | `(lti dest lhs rhs)` | $dest = $lhs \<i $rhs |
|
||||||
| `ltim` | `(ltim dest lhs im)` | $dest = $lhs \<i im |
|
| `ltim` | `(ltim dest lhs im)` | $dest = $lhs \<i im |
|
||||||
| `ltr` | `(ltr dest lhs rhs)` | $dest = $lhs \<r $rhs |
|
| `ltr` | `(ltr dest lhs rhs)` | $dest = $lhs \<r $rhs |
|
||||||
| `lter` | `(lter dest lhs rhs)` | $dest = $lhs <=r $rhs |
|
| `mkarr` | `(mkarr dest)` | $dest = call(array, args) |
|
||||||
|
| `mkbuf` | `(mkbuf dest)` | $dest = call(buffer, args) |
|
||||||
|
| `mktab` | `(mktab dest)` | $dest = call(table, args) |
|
||||||
|
| `mkstr` | `(mkstr dest)` | $dest = call(string, args) |
|
||||||
|
| `mkstu` | `(mkstu dest)` | $dest = call(struct, args) |
|
||||||
|
| `mktup` | `(mktup dest)` | $dest = call(tuple, args) |
|
||||||
| `movf` | `(movf src dest)` | $dest = $src |
|
| `movf` | `(movf src dest)` | $dest = $src |
|
||||||
| `movn` | `(movn dest src)` | $dest = $src |
|
| `movn` | `(movn dest src)` | $dest = $src |
|
||||||
| `mul` | `(mul dest lhs rhs)` | $dest = $lhs * $rhs |
|
| `mul` | `(mul dest lhs rhs)` | $dest = $lhs * $rhs |
|
||||||
@ -210,10 +216,10 @@ failure to return or error.
|
|||||||
| `mulim` | `(mulim dest lhs im)` | $dest = $lhs \*i im |
|
| `mulim` | `(mulim dest lhs im)` | $dest = $lhs \*i im |
|
||||||
| `mulr` | `(mulr dest lhs rhs)` | $dest = $lhs \*r $rhs |
|
| `mulr` | `(mulr dest lhs rhs)` | $dest = $lhs \*r $rhs |
|
||||||
| `noop` | `(noop)` | Does nothing. |
|
| `noop` | `(noop)` | Does nothing. |
|
||||||
| `push` | `(push val)` | Push $val as arg |
|
| `push` | `(push val)` | Push $val on arg |
|
||||||
| `push2` | `(push2 val1 val3)` | Push $val1, $val2 as args |
|
| `push2` | `(push2 val1 val3)` | Push $val1, $val2 on args |
|
||||||
| `push3` | `(push3 val1 val2 val3)` | Push $val1, $val2, $val3, as args |
|
| `push3` | `(push3 val1 val2 val3)` | Push $val1, $val2, $val3, on args |
|
||||||
| `pusha` | `(pusha array)` | Push values in $array as args |
|
| `pusha` | `(pusha array)` | Push values in $array on args |
|
||||||
| `put` | `(put ds key val)` | $ds[$key] = $val |
|
| `put` | `(put ds key val)` | $ds[$key] = $val |
|
||||||
| `puti` | `(puti ds index val)` | $ds[index] = $val |
|
| `puti` | `(puti ds index val)` | $ds[index] = $val |
|
||||||
| `res` | `(res dest fiber val)` | $dest = resume $fiber with $val |
|
| `res` | `(res dest fiber val)` | $dest = resume $fiber with $val |
|
||||||
@ -228,6 +234,6 @@ failure to return or error.
|
|||||||
| `sru` | `(sru dest lhs rhs)` | $dest = $lhs >>> $rhs |
|
| `sru` | `(sru dest lhs rhs)` | $dest = $lhs >>> $rhs |
|
||||||
| `sruim` | `(sruim dest lhs shamt)` | $dest = $lhs >>> shamt |
|
| `sruim` | `(sruim dest lhs shamt)` | $dest = $lhs >>> shamt |
|
||||||
| `sub` | `(sub dest lhs rhs)` | $dest = $lhs - $rhs |
|
| `sub` | `(sub dest lhs rhs)` | $dest = $lhs - $rhs |
|
||||||
| `tcall` | `(tcall callee)` | Return call($callee) |
|
| `tcall` | `(tcall callee)` | Return call($callee, args) |
|
||||||
| `tchck` | `(tcheck slot types)` | Assert $slot does matches types |
|
| `tchck` | `(tcheck slot types)` | Assert $slot does matches types |
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user