RCA CDP1802 COSMACを動かしてみた(3) アセンブラ編

ブレッドボードに組み上げたCOSMACマイコンの動作確認ができましたので、参考にしている書籍「トラ技別冊 つくるシリーズ7 手作りコンピュータ入門」にあるサンプルプログラムを動かしていこうと思います。

前回の記事で動作確認に使用したパルス信号を作るプログラムも書籍に掲載されているものです。ただし掲載されているプログラムリストには命令コードと命令が行う処理の概要は書かれていますが、二ーモニックコードが書かれていません。どうせならアセンブラを使っていきたいので、データシートからニーモニックコードを調べてアセンブラのソースコードを作成しました。

START SEQ
      REQ
      BR START

SEQ は SET Q、REQ は RESET Q、BRはBRANCHと想像がつきますね。

次にCOSMACをサポートしているアセンブラを探してみましたが、私がよく利用しているSB-Assemblerがサポートしているようです。早速SB-Assemblerのソース形式でアセンブルしてみました。今回はWSL環境上で行いました。

$ sbasm osc1.asm
SB-Cross Assembler version 3.03.01 Please visit www.sbprojects.net for a complete description.
Assembling....
Pass one Loaded 1802 overlay version 3.01.00
Pass two 0000- 1 * 0000- 2 * Oscillator program 1 for COSMAC 0000- 3 * SB-Assembler 0000- 4 * 0000- 5 .CR 1802 To load the 1802 cross overlay 0000- 6 .OR $0000 0000- 7 * 0000-7B 8 ( 2) START SEQ 1->Q 0001-7A 9 ( 2) REQ 0->Q 0002-30 00 10 ( 2) BR START M(R(P))->R(P).0 0004- 11 0004- 12 .EN
0 Errors found during assembly. 0 Warnings found during assembly.
$

正常にアセンブルできているようです。このソースファイルはgithubにおいておきました。

このアセンブラ開発環境でプログラミングを進めてみます。

コメントする