LearnByteCode, Tech

Ruby Logo
OP_LOADTArgumentsA:レジスタ番号
How it works?

R(A) := true

レジスタにtrueオブジェクトを代入する

When used?

trueを扱うときに用いられる。

LearnByteCode, Tech

Ruby Logo
OP_LOADSELFArgumentsA:レジスタ番号
How it works?

R(A) := self

レジスタにselfオブジェクトを代入する

When used?

selfに対して、何か処理をする ...

LearnByteCode, Tech

Ruby Logo
OP_LOADNILArgumentsA:レジスタ番号
How it works?

R(A) := nil

レジスタにnilオブジェクトを代入する

When used?

nilをレジスタ引数にとる命令に使われ ...

Tech

mrubyc_logo

This article comes from 2nd M5Stack user meeting.

My intention

I think M5Stack is an awesome product becaus

LearnByteCode, Tech

Ruby Logo
OP_LOADSYMArgumentsA:レジスタ番号
Bx:シンボル番号
How it works?

R(A) := Syms(Bx)

レジスタに実行中のmrb_irepに格納されているBx番目のシンボルオブジ ...

LearnByteCode, Tech

Ruby Logo
OP_LOADIArgumentsA:レジスタ番号
sBx:整数
How it works?

R(A) := sBx

レジスタにFixnumとしてsBxの値を代入する。
sBxは16bitの符号付き整数で ...

LearnByteCode, Tech

Ruby Logo

OP_LOADLArgumentsA:レジスタ番号
Bx:リテラル番号
How it works?

R(A) := Pool(Bx)

レジスタに実行中のIREPに格納されているBx番目のリテラルのポインタを代入す ...

LearnByteCode, Tech

Ruby Logo
OP_MOVEArgumentsA:レジスタ番号
B:レジスタ番号
How it works?

レジスタにレジスタのポインタを代入する
MOVEとあるが、実際はポインタのコピーを行っている。

When used ...

LearnByteCode, Tech

Ruby Logo

OP_NOPArguments

なし

How it works?

何もしないで、次の命令に移る。

When used?

@miura1729 さんの記事にもあるが、grepしてみても、mrbgems/mrbgems/ ...

Tech

mrubyc_logo

(Japanese version is here)

Recently I’m studying mruby byte-code to understand mruby/c.
In mruby/c, i ...