プログラムのデバッグ1

【デバッグ】

さて取り敢えずソースプログラムを作成しました。次はこれが
期待どおり動くかどうかを確認する必要があります。
それを確認する作業をすることがデバッグ作業となります。

これまでで作成したソースプログラムの全体は下記の様に
なっています。コメント行を追加して段落が判りやすくなる
ようにしてあります。
コメントを日本語で作成すると、MPLABでは、そのままでは
文字化けしてしまいます。
これを正常に表示させるには、使用フォントの変更をして
日本語フォントを使うことにします。それでも、命令文には
日本語は使えません。特にスペースには気をつけて下さい。

   ★ デバッグ前ソースプログラム(ledcont3.asm)


【プロジェクトの作成とアセンブル】

まずMPLABを起動し、下記環境設定を済ませておきます。
 (1)開発モードの指定
   Option → Development Mode → MPLAB-SIM Simulator
  → Processor → PIC16F84 → Reset
 (2)使用言語の指定(これは必須)
   Project → Install Language Tool
     → ExecutableにBrowseでMPASMWIN.EXEを登録します。
 (3)さてそれではいよいよプロジェクトを開始します。
  まず、 Project → New Project で新しいProjectを作成します。
  Project名はソースファイル名と同じ「ledcont」とします。
  そしてプロジェクト作成環境を設定します。
   Project File → ledcont2を選ぶ → Node Properties
    → Hex Format → INHX8Mをチェック
     → Warining level → allをチェック → OK
  次に、ソースファイルを登録します。
   Add Node → ledcont.asmを選択しOK
  これでProjectが新たに登録されました。
   
 (4)アセンブルをする
  まずソースファイルが見れる様にオープンします。
   File → Open → ledcont.asmを指定
  これで、準備が整ったので
   Project → Make Project とすれば
  アセンブルが自動的に開始されます。


【アセンブルエラーと修正】

(1)最初のアセンブル結果
上記ソースファイルでは、アセンブル結果はErrorが一杯です。
エラーメッセージの中味を見てみましょう。
最初の方ににあるのが 
  Found directive in column 1. (DATA)
  Missing quote
などで、どうも「DATA」の使い方がおかしい様です。
つまり、「DATA」というのは既に擬似命令に同じものがあるので、
ラベルとしては使ってはいけない記号なのです。
そこでまず、データ定義のところを修正します。DATAは結局使わない
のでこの行を削除してしまいます。

さてエラーメッセージの次の方には、
 Illegal digit ( in hexidecimal) というメッセージが沢山あります
どうも16進数データの表現方法で「H'11」という書き方は受け入れ
てもらえない様です。そこでこの変数定義のところを、「H'11」という
表現を「011H」という表現に変更します。
これでとりあえず再度 Make Project をして再アセンブルします。
このように、何度でもアセンブルできるのが良いところでしょう。

(2)再アセンブル結果
再アセンブルの結果は取り敢えずエラーは無いのですが、何かWarning
が出ています。それでもErrorが無ければ実行形式ファイルが生成される
ので取り敢えず、シミュレータで実行して見ましょう。
Warning Messageの中味は 
  Register in operand not in bank 0.
  Argument out of range.
というもので
「MOVWF TRISA」と「BCF PORTB,BITC」の命令で出ています。
何か間違いがあるのでしょうか? 
でもこれは後で見ることにしてまず実行してみましょう。




   次のページへ      目次ページへ