awk版の最終である98/08/29版のまきものに,熊谷さんの改造のようなインライン文を 組み込み,いくつかバグ取りをしたのが,この改造まきものです. ※使用機種や使用PICに制限があります.末尾を見て下さい インライン文の使い方等,これの使い方については, 980829smpl.b10 を読めばわかると思います. ずっと謎だった「しかけ0」や「かいめで」の正しい使い方とか,awk版でしか使えない 「けせ あか」についてとか,いろいろわかります. RB6,7(梵天丸では赤緑LEDがつながっている)を入出力ポートとして使う方法も 入れました.RB67フォルダにあります.くれぐれも原本のbon200.bsyのバックアップを 取ることを忘れずに.元に戻せなくなってしまいますから. 87X対応の改造まきものもつくりました.tab877980829.lzhです. ポートCDEは,まだまきもの命令を作っていないので,インライン文で直接たたいたり 読んだりして下さい.なお,デフォルトは入力です. インライン文やアセンブラがよくわからない人は,何かまきものでプログラムを作って 「ほんやく」した後で,work.srcを見てみて下さい.まきものとアセンブラの関係が よくわかりますよ. あとは,各所にちりばめたテキストファイルを読んでみて下さい. ***** インライン文を使うため,この改造まきものは,work.srcをアセンブルしてobjを作って います.それが,work.objです. 本来の版は,いきなりmem.dmpを作り,そこから直接objを作っています.これも参考の ため残しました.それがwork_o.objです. work_o.objとwork.objの違い (1)workはcjaなどの複合命令を使っている work_oは素直な命令だ もちろん動作は同じ (2)work_oは,インライン文を反映しない NOPが入る. (3)work_oは,「りもこん0」のバグが直っていない (4)work_oは,「りもこん0で」をやると,動作しない.workは,「りもこん0」の直後の 状態として認識する.これはxorlw #-1 を,work_oは,xorlw 0=3a00hの1個前の命令 andlw 0ffh=39ffhとして認識し,workは,普通にxorlw 0ffhとして認識するという 理由である. つまり,バグのないのは,work.objの方です. 最終的に「ファイル名.obj」になるのは,work.objの方です.work_o.objは,参考のため に残しました. ※複合命令については, http://pic.strawberry-linux.com/seminar/ の「PAインストラクション」等をご覧下さい. 確かに便利な反面,movの向きが常識と逆だったり,条件分岐の後に用いると暴走したり (だって複合命令だし笑),「諸刃の剣」な命令です. ***** work.srcをアセンブルしてobjを作ることは、手動でもできます。練習のためにやって みましょう。 まきものファイル.b10をコンパイルすると、work.srcというファイルが生成されます。 これがコンパイルの途中で副産物としてできたアセンブラファイルです。 parallax系アセンブラとして、TechTools社のフリーアセンブラ http://www.tech-tools.com/d_cv16.htm をダウンロードしてきて、work.srcをアセンブルしてみましょう。 work.srcを,アセンブラの上にドラッグ&ドロップするだけです. ※なお,このアセンブラはver5.8以前のものでないといけません.ver6.0以降は, 純粋parallax系ではなくなってしまうのです.まあ,違いはヘッダくらいですから, がんばればなんとかなりますけど.がんばってヘッダを書き換えればね. このwork.srcの頭には、include bon10.hdr と書いてあります。つまり、bon10.hdrを インクルードするので、同じフォルダに用意しておきましょう。 ※その際、PIFファイルに注意してください。アセンブラを実行するとPIFファイルが 生成すると思いますが、そのPIFファイルのプロパティを開き,作業フォルダを設定して ください(上記と同じフォルダに設定する)。 この作業フォルダがブランクのままだと、「includeファイルが見つからない」とエラーが 出ます。 このエラーは、この改造まきもののようにawk自動アセンブルではPIF無しでもエラーが 出ないのだけれど(dos上実行なのだから当たり前か)、手動アセンブルでは出てしまう のです。困ったなあ まあ,ともかく, できたwork.objに、システムファイルであるbon200.bsyをくっつけてください。 bon200.bsyが前です。work.objが後ろです。 copy bon200.bsy+work.obj file.obj これでobjができあがりました。このfile.objを、目的のファイル名.objにリネームすれば、 完成です。 ***** ●この改造まきものや,b10aw?.exeは,WindowsNT系(NT,2000,XP)では動かないとの 連絡をいただいています.特権命令違反になるらしいです(そりゃそうですよね. パラレルポートを直接叩いてるし..).なにせベースのまきものが98年ですから.  現在のまきものにはNT用ドライバがついているのですが,使えたかなあ 今手許に NT系がないので,試せないのです.ご報告をいただけると幸いです. ●87X用の改造まきものtab877980829.lzhは,AバージョンのPIC16F87xAでは動き ません(未確認ですが,動かないでしょう.近々調査します).b10aw?.exeもAバー ジョンのF87xAでは使えません. というのは,F87xやF628などのAバージョンは,無印のものとは書き込み方式が 全く異なるようなのです. http://www.cqpub.co.jp/toragi/trsample/2003/tr0309/0309sp7.pdf  PICを買うときには注意してください. (一方,F84AはF84と書き込み方式が同一で,どちらも問題なく使えます. ややこしいですね)