Tech

mrubyc_logo

最近、mruby/cに大き目の更新があったので、ざっくり見てみる。

mrblibの導入

今までCで実装されていた組み込みメソッドの一部について、バイトコンパイルしたRubyコードをリンクする形式になった。

LearnByteCode, Tech

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

setglobal(Syms(Bx), R(A))

シンボルに対応するグローバル変数として、レジスタ ...

LearnByteCode, Tech

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

R(A) := getglobal(Syms(Bx))

レジスタにシンボルに対応するグローバル変数の ...

LearnByteCode, Tech

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

R(A) := true

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

When used?

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

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

M5Stack

Wio LTE Arduino用にライブラリ化したmruby/cを少しだけ改造して、ESP32 Arduino用にしてみました。

まだAPIの移植はほとんどできていませんが、M5StackのLCD用のサンプルスケ

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番目のリテラルのポインタを代入す ...