独習mrubyバイトコード[OP_LOADT]
OP_LOADTArgumentsA:レジスタ番号
How it works?
How it works?
R(A) := true
レジスタにtrueオブジェクトを代入する
When used?trueを扱うときに用いられる。
独習mrubyバイトコード[OP_LOADSELF]
OP_LOADSELFArgumentsA:レジスタ番号
How it works?
How it works?
R(A) := self
レジスタにselfオブジェクトを代入する
When used?selfに対して、何か処理をする ...
独習mrubyバイトコード[OP_LOADNIL]
OP_LOADNILArgumentsA:レジスタ番号
How it works?
How it works?
R(A) := nil
レジスタにnilオブジェクトを代入する
When used?nilをレジスタ引数にとる命令に使われ ...
Let’s make apps on mruby/c for M5Stack(ESP32)
This article comes from 2nd M5Stack user meeting.
My intentionI think M5Stack is an awesome product becaus
独習mrubyバイトコード[OP_LOADSYM]
OP_LOADSYMArgumentsA:レジスタ番号
Bx:シンボル番号
How it works?
Bx:シンボル番号
How it works?
R(A) := Syms(Bx)
レジスタに実行中のmrb_irepに格納されているBx番目のシンボルオブジ ...
独習mrubyバイトコード[OP_LOADI]
OP_LOADIArgumentsA:レジスタ番号
sBx:整数
How it works?
sBx:整数
How it works?
R(A) := sBx
レジスタにFixnumとしてsBxの値を代入する。
sBxは16bitの符号付き整数で ...
独習mrubyバイトコード[OP_LOADL]
OP_LOADLArgumentsA:レジスタ番号
Bx:リテラル番号
How it works?
Bx:リテラル番号
How it works?
R(A) := Pool(Bx)
レジスタに実行中のIREPに格納されているBx番目のリテラルのポインタを代入す ...
独習mrubyバイトコード[OP_MOVE]
OP_MOVEArgumentsA:レジスタ番号
B:レジスタ番号
How it works?
B:レジスタ番号
How it works?
レジスタにレジスタのポインタを代入する
MOVEとあるが、実際はポインタのコピーを行っている。
独習mrubyバイトコード[OP_NOP]
OP_NOPArguments
なし
How it works?何もしないで、次の命令に移る。
When used?@miura1729 さんの記事にもあるが、grepしてみても、mrbgems/mrbgems/ ...
The Instruction set of mruby/c compared with mruby
(Japanese version is here)
Recently I’m studying mruby byte-code to understand mruby/c.
In mruby/c, i ...