2007-11-20から1日間の記事一覧

小さいVMで mod 2 を実装してみた

1から20までの数の mod 2 を出力するプログラムを書いてみた。命令セットが加算しかないので、面倒なのです。 int main(){ TiviAssembler tasm; tasm.pushi(0) // push 0 to stack .ref(0) // load from stack to VAL .label("loop") .addi(1) // add 1 to V…

小さいVMが動いた

とりあえずな感じのVMを実装して動かしてみた。扱える値はintのみ。pushi(1) で1をスタックにpush。ref(0)でスタックの上から0番目を演算レジスタに読み込み。addi(1)で演算レジスタに1加算。say()で演算レジスタの中身を表示。jmpでラベルまでジャンプ。以…