ブラウザで動作するシンプルなZ80アセンブラを公開しました
OneChipBook(MSX BOOK)を手に入れてから久しぶりにMSXで色々と遊んでいます。
なにかアセンブラで作りたいと思いましたが、MSX上で作成するのは疲れるので普通にテキストエディタで作りたいので良いアセンブラを探したのですが、なかなか手軽に使えそうなものがありませんでした。
また最近のクロスアセンブラは微妙に書式が異なったりしているので、『MSX2テクニカル・ハンドブック』のサンプルコード等はそのままでは構文エラーになったりました。
そこで条件に合うシンプルで手軽に扱えるシンプルなZ80アセンブラを作りましたので、公開します。
JS Z80ASM ブラウザで動作するシンプルなZ80アセンブラ
https://www.uosoft.net/jsz80asm/
まだ動作するようになったばかりのα版です。手元のサンプルソースが少なく、全てのオペランドも確認したわけではない状態です。
多くの人に使用してもらえるとデバッグ情報も集まることを期待して公開しました。
何か在りましたらコメント欄へお願いします。
ブラウザで動作して、アセンブラコードを記述したテキストファイルを選択するとアセンブルするので、[バイナリファイルを保存]ボタンを押すとバイナリファイルを保存できます。
動作は全てJavascriptのコード内で完結しているので、全てローカル環境で動作してます。
アセンブラの書式は『MSX-DOSスーパーハンドブック』に収録されているDOS版アセンブラ(ASM.COM)で扱える形式を参考にしてます。
例として以下の様なソースをアセンブルできます。
ORG 0100H
BDOS EQU 0005H
LD C,09H
LD DE,HELLO
CALL BDOS
RET
HELLO: DB "Hello World.$", 0
ENDアセンブラされたバイナリを保存して拡張子を"com"でファイル名を変更すると、そのままMSX-DOSで実行できます。

アセンブラ自体の主要な機能(ソースの文字列をセット、アセンブル、バイナリデータの取得、アセンブル情報の取得)は1個のクラスで作成しているので、こちらもreadme.md等ドキュメントを整備してからGithubで公開しようと思ってます。

