MYマイコンを作る(11) 
    プログラム作成と初期格納


 MYマイコンComet2eのプログラム作成とプログラムメモリへの格納方法について考えます。
 ここでのプログラムメモリへの格納方法は、初期時に格納する方法です。

アッセンブラによるプログラムのアッセンブルと機械語の作成

 「MYマイコンを作る(4) COMETUの命令を確認」でアッセンブラ入門 CASLU 内田 著 出版:電子学園」付属の「CASLシミュレータ」でアッセンブルしました。
 ここでも、同じものを使うことにします。
 アッセンブラを使ってプログラムする方法は、他の資料を利用して各自で習得願います。

●プログラムのアッセンブル

 アッセンブラ入門 CASLU 内田著の CASLシミュレータ」でアッセンブルする手順を次に示します。
 ・CASLシミュレータを立ち上げます。
 ・ファイル>開く ファイルを開くダイアログでアッセンブル言語で作成したプログラムを
  指定して開く。ここの例では、「2_Soft11_Ld1go1.casl」を開きます。
 ・アセンブル>アセンブル でアセンブルが正常なら左上のペインに結果が出ます。
  そして、2_Soft11_Ld1go1.cometと2_Soft11_Ld1go1.tableが作成されます。
  オプション>アッセンブラオプションの指定 で開いたダイヤログの関連ファイル出力関係で
  チェックを入れるとアッセンブラリストのファイルも出力できます。
  問題が有れば下のペインにメッセージが出ます。
 ・実行>ステップ実行開始 で↓(下矢印)押下で一命令毎に実行できます。
 ・実行>強制終了 で終了します。
ツールバーにボタンがあるので利用できます。





下に示すプログラム「2_Soft11_Ld1go1.casl」をここに置きます。

; MYマイコン Comet2e 動作確認プログラム
;Soft11_Ld1go1
;

KAISI START

;汎用レジスタに数値を設定
NOP ;no operation:これは実行されない
NOP ;no operation:これは実行されない
NOP ;no operation:これは実行されない
NOP ;no operation:これは実行されない

NOP ;no operation:ここから実行
XOR GR0,GR0 ;GR0←0:排他的論理和:0=GR0←(GR0)XOR(GR0)
LAD GR1,1 ;GR1←1:2語命令

LD GR2,GR0 ;GR2←0:1語命令
LD GR3,GR1 ;GR3←1:1語命令
LD GR4,GR0 ;GR4←0:1語命令

ADDA GR4,GR3 ;GR4←1:add arithmetic

SUBA GR4,GR1 ;GR4←0:subtract arithmetic

ADDL GR4,GR3 ;GR4←1:add logical

SUBL GR4,GR4 ;GR4←0:subtract logical

LABEL1 JUMP LABEL1 ;unconditional jump

END


●機械語の作成

 アセンブル結果の「2_Soft11_Ld1go1.comet」を次に示します。
 先頭の数字が「8」〜「29」の中央の4桁の数字が機械語です。アッセンブラリストと
見比べてください。始めの「0000」はNOP命令です。

CASL II Object KAISI Ver. 1.00 (Feb 6, 2001)
5:START 0
8:0000 M
9:0000 M
10:0000 M
11:0000 M
13:0000 M
14:3600 M
15:1210 M
15:0001 I
17:1420 M
18:1431 M
19:1440 M
21:2443 M
23:2541 M
25:2643 M
27:2744 M
29:6400 M
29:000F A

 上の 2_Soft11_Ld1go1.cometファイルをエディタで矩形選択コピーして
ファイル名をHexFile.txtしたのです。

0000
0000
0000
0000
0000
3600
1210
0001
1420
1431
1440
2443
2541
2643
2744
6400
000F

 これを実行ファイルHex2IntelHex_Ver1.exeを使って IntelHex.hexファイルを作ります。

:020000000000FE
:020001000000FD
:020002000000FC
:020003000000FB
:020004000000FA
:020005003600C3
:020006001210D6
:020007000001F6
:020008001420C2
:020009001431B0
:02000A001440A0
:02000B0024438C
:02000C0025418C
:02000D00264388
:02000E00274485
:02000F0064008B
:02001000000FDF
:00000001FF

 実行ファイルHex2IntelHex_Ver1.exeとHexFile.txtを同じフォルダに入れて左からボタンを押下してください。同じフォルダにIntelHex.hexファイルが出来ます。

 1、「Hexファイル読込」ボタン押下:HexFile.txtファイルを読み込み左ペインに表示
 2、「HexをIntelHexに変換」ボタン押下:左ペインの16進数をIntelHexに変換し
                                 右ペインに表示
 3、「IntelHexファイル書込み」ボタン押下:右ペインのIntelHexファイルを書き込む




 「メモリ初期化用Intel-formatファイルについて」を参照ください。

プログラムのプログラムメモリへの格納方法

メモリ初期化ファイルの設定」を参照ください。




ホームへ戻る