Litessera Lux
RISC-VエコシステムLitessera Luxは、このサイトのアセンブリレッスン用のRISC-Vアセンブラおよびシミュレータです。アセンブラはJavaScriptで書かれており、実行コアはWebAssemblyにコンパイルされたC++です。
概要
Litessera Luxは、このサイトのレッスン用に作られたRISC-Vアセンブラ兼シミュレータです。シミュレータはプロセッサを模倣するもので、RISC-Vハードウェアなしでプログラムを実行できます。アセンブリは機械命令を読みやすいテキスト形式にしたもので、RV32IMは乗算と除算のためのM拡張を備えた32ビット基本命令セットです。
アセンブラはJavaScriptで書かれており、ソースを2回読み込みます。1回目のパスではラベルと各命令のサイズを記録します。2回目のパスでは命令をエンコードし、それらのラベルが表すアドレスを埋めます。実行はC++コアで行われ、WebAssemblyにコンパイルされます。WebAssemblyはブラウザがネイティブに近い速度で実行するバイナリ形式です。
履歴
Luxは2026年、このサイトのRISC-Vレッスン用に書かれたシミュレータ「Tesserae Venus」として始まりました。2026年6月にLitessera Luxへ改名されました。実行コアは後にJavaScriptからC++へ移り、WebAssemblyへコンパイルされるようになりました。
使用場所
このサイトのRISC-VレッスンはLux上で動作します。レッスンは、学生がアセンブルして実行するプログラムから始まり、命令リファレンスには同じRV32IM命令が記載されています。
LuxはESP32ファミリーのマイクロコントローラーを含む組み込みトピックも扱います。ブラウザで動作しインストールは不要なので、管理された学校のマシンでも学生自身のコンピューターでも利用できます。
