教育支援用CASL2・COMET2シュミレータ
お久しぶりです。
今回はOS-CPU Advent Calendar 2019 - Adventarの記事です。
はじめに
皆さんアセンブリ言語はどのように習得されましたか?
CTF?組み込み?などなどあると思います。
一部大学や工業高校でも情報科学の一歩としてアセンブリ言語を勉強するそうです。
いろいろアセンブリ言語がある中でてっとり速く習得できるアセンブリ言語として、IPAが策定したCASL2があります。
>> CASL(キャスル)は、情報処理技術者試験におけるプログラミング能力試験のために、CAP-Xの後継として1986年仕様策定したアセンブリ言語である。 <<
CASL - Wikipedia
CASL2は命令セットが少なくシンプルであるため、アセンブリ言語教育として多く使われています。
仕様はこちらを見ていただけたらわかります。
アセンブラ言語CASLⅡの仕様
問題点
CASL2・COMET2は実際に教育現場で使われているのですが、良いシミュレータが余り存在しない点があります。
CASL2を動かす分にはいいのですが、CPUの可視化・CPUの命令サイクルの動きなどCPU本来の動きを見せているシミュレータが余りありません。
個人的に理想に近いシミュレータが
www.ics.teikyo-u.ac.jp
になります。
が筆者のOSがArchLinux&MacOSであるため、簡単には動きません。まして、教育用ということで最近流行りのChrome OSやAndroidなど環境にとらわれないシミュレータがほしいところです。
解決
というわけでCASL2・COMET2シミュレータをつくりました!!
Webブラウザで動作します。
使い方はこちらを参考にしてください。https://wocasl2.herokuapp.com/help
アセンブルやシミュレータ部分を完全フルスクラッチのためエラーの原因やメモリのオーバーフローなど独自で検知できるようになっています。
しかし、まだ開発中のためCOMET2のCPUの可視化が全然できておりません。COMET2のトグルボタンをオンにするとCPU可視化モードが音になる予定です。