文献を国立国会図書館から入手する

MB8861の情報を調べているがなかなか決定打がありません。もしかすると雑誌の記事か何かで紹介されていたり何か文献としてどこかに蔵書されていないか調べているうちに国会図書館に辿り着きました。調べてみるものです。ということで国会図書館から入手してましたので、そのための手順などを紹介します。 文献の検索 国立国会図書館の蔵書検索で以下を発見。 http://iss.ndl.go.jp/books/R000000004-I1718286-00 タイトル MB8861 8ビットマイクロプロセサ 著者 星川 竜輔 他 出版年 1976-07 注記 記事分類: データ処理・計算機器–ハードウェ … “文献を国立国会図書館から入手する” の続きを読む

6802アセンブラで逆アセンブラ形式の出力に対応

6802アセンブラで逆アセンブラ形式の出力に対応した。こんな感じで出力する。とりあえず相対分岐命令の時にラベル名を出すようにした。理想的にはアドレッシングモードがdirectとextendedのときもラベル名を出すべきな気もするけどまだできていない。まあいいか。だいぶ完成形に近づいてきた気がするな。

 

6802用アセンブラを作る(5) 一応完成

ひとまず仕様をfixさせ、ユーザーズガイドを作成しました。結局構文解析部分は命令毎に規則を書き下す方式にしました。状態遷移表の状態数は740状態、遷移数は3445個です。これくらいなら許容範囲かな? 規則部はこんな感じ。各命令に対応するシンボルから始まり、それぞれの命令で指定可能なアドレシングモードの規則を記述しています。文法違反の場合は、特別なエラー命令(ErrorInstruction)を生成し、パーサから抜けた後に命令リストをスキャンし、まとめてエラー表示する方式とします。

ちょっと悩んだのがアドレシングモードのうちDir … “6802用アセンブラを作る(5) 一応完成” の続きを読む

6802用アセンブラを作る(4) JR-100でのテスト

作成したアセンブラのプロトを使って、JR-100の実機試してみました。最終的な目的はJR-100に搭載されているVIA(6522)のテストのためなので、マシン語から直接VIAのレジスタを叩いてJR-100のスピーカーから音階を鳴らしてみました。JR-100への入力は同じく自作のFSKプレイヤーを使います。 プログラム JR-100ではVIAのPB7がスピーカーに接続されています。つまりVIAのタイマー1のフリーランモードでPB7に出力される方形波が音声として再生されるため、タイマー1の初期値を生成したい周波数に合わせて調整すればよいということです。タイマーが0になるごとにPB7出力が反転するの … “6802用アセンブラを作る(4) JR-100でのテスト” の続きを読む

6802用アセンブラを作る(3) プロトタイプ完成

構文解析部分で少し悩みましたが、ひとまずプロトタイプはできました。パーサーを自分で作るのとは異なり、ジェネレータを使うとエラー処理をうまく書くのが難しいです。いまのところ最低限の処理しか実装していません。またたまに例外を発生しますのでお気を付けを……。 2017/3/25追記 アセンブラの正式版の説明はこちらに移動しました。お手数をおかけします。 構文解析について 行の構文解析のところで二つの方式で悩みました。 方式1: 命令の正当性を構文規則で表現する こんな規則になります。

この方式だと構文エラーが自動的に判定できるので(当 … “6802用アセンブラを作る(3) プロトタイプ完成” の続きを読む

6802用アセンブラを作る(2) JFlexとCUPの導入

6802用アセンブラの構文解析部分を、将来の拡張性を見据えて、自前で作成するのではなく字句解析にJFlex、構文解析にCUPを使って作成することにしました。この記事ではそれぞれの導入と、それらを使った構文解析部分のプロトタイプを紹介します。 インストール 以下の環境にインストールするためのメモを記します。 Windows 10 Eclipse Version Mars.2 Release 4.5.2 JFlex ダウンロードページからtar.gzまたはzipファイルをダウンロードし、適当な場所に保存します。2017年2月26日現在、最新版は1.6.1。tar.gzもzipも内容は同じです。 以 … “6802用アセンブラを作る(2) JFlexとCUPの導入” の続きを読む

6802用アセンブラを作る(1) はじめに

VIA(6522)の動作をJR-100上で試すために、マシン語をハードコーディングする必要があります。中学生の頃は16進数のマシン語コードのまま平気でハードコーディングできましたが、この歳になるとさすがにつらい。 web上ではMS-DOS用のものなどが公開されていますが、JR-100エミュレータ用に作成したディスアセンブラがあるのでそのコードを流用して自作することにします。 アセンブリ言語の仕様書はこれを参考にします。 6800 Assembly Language Programming (外部リンク) これまでの記録 6802用アセンブラを作る(1) はじめに 6802用アセンブラを作る(2 … “6802用アセンブラを作る(1) はじめに” の続きを読む