2007年5月30日水曜日

またまたエラー。いったいこれはなに? Executable code and data must be defined in an appropriate section

Error[152] C:\PROJECT\PIC\KITCHINTIMER\B16TOBCD.ASM 45 : Executable code and data must be defined in an appropriate section
Error[152] C:\PROJECT\PIC\KITCHINTIMER\B16TOBCD.ASM 46 : Executable code and data must be defined in an appropriate section
Error[152] C:\PROJECT\PIC\KITCHINTIMER\B16TOBCD.ASM 47 : Executable code and data must be defined in an appropriate section
Error[152] C:\PROJECT\PIC\KITCHINTIMER\B16TOBCD.ASM 48 : Executable code and data must be defined in an appropriate section
Error[152] C:\PROJECT\PIC\KITCHINTIMER\B16TOBCD.ASM 49 : Executable code and data must be defined in an appropriate section
     :
     :わらわらわら
     :

とエラーが出た。
これはすぐに原因が分かりました。

kt.asm

org 0x000

nop
nop

B16TOBCD.ASM

nop <
nop <

みたいにコーディングしていました。
アセンブラはB16TOBCDをアセンブルするとき生成コードの配置場所が分からなかったみたいです。
で、次のように修正しました。

B16TOBCD.ASM
 org 0x800
nop << OK!
nop << OK!

でなおりました!


2007年5月29日火曜日

エラーが消えない!!! MPLAB PIC16F873A にて Error[118] : Overwriting previous address contents (0000) ってなに?

最近PICのプログラミングにはまっています。
2センチほどの小さなICにプログラムが書き込めて電池で動作します。
LEDを8個ならべて順番に光らせてナイトライダーってのも簡単にできちゃいます。

で、今日遭遇したエラーメッセージ

Error[118] C:\PROJECT\PIC\KITCHINTIMER\KT03A.ASM 74 : Overwriting previous address contents (0000)
Error[118] C:\PROJECT\PIC\KITCHINTIMER\KT03A.ASM 74 : Overwriting previous address contents (0000)
Error[118] C:\PROJECT\PIC\KITCHINTIMER\KT03A.ASM 75 : Overwriting previous address contents (0001)
Error[118] C:\PROJECT\PIC\KITCHINTIMER\KT03A.ASM 75 : Overwriting previous address contents (0001)

オーバーライトしているとかって。。。分からん。
何を修正してから出てきたのか調べていたら、サブルーチンを追加してから出てきていた。
かれこれ調べて6時間。やっと分かった!!!


== kto3a.asm ============

#include "mathlib.inc"

ORG 0x000
nop ; nop required for icd
goto main

:

== mathlib.inc ============

h2bcd
nop
nop
return

========================

ってな感じでサブルーチンをインクルードファイルに入れていた!!!
展開されてコンパイルされるとこんな感じになるので
========================
h2bcd
nop << 0x000
nop << 0x001

return

ORG 0x000
nop << 0x000 no !!!!!!
goto main

========================
インクルードされたh2bcdがアドレス0x000に展開されているのに、
その後のORG 0x000でアドレスがリセットされ
メインプログラムを0x000から書き込もうとしているのでエラーメッセージが出ていた。
なるほど。エラーになるわけですねぇ。。。
C言語の感覚が残っているとこんなポカミスしちゃうんですねぇ。

2007年5月22日火曜日

ニンテンドーDSLiteがほしい!



中学生の英語学習にニンテンドーDSを活用し、英単語ソフトを授業中に使わせたところ、
『5カ月間で生徒の語彙(ごい)数が平均で約360語から420語増えたことが分かった。』
だそうな(^O^
すごいですよこれ!!だって語彙数116%増だよ!宇宙戦艦ヤマトの波動砲の
エネルギー充填120%に迫る値じゃないですか!
って年がわかりますねorz
http://headlines.yahoo.co.jp/hl?a=20070521-00000027-kyt-l26

英語嫌いなわたしもいまさらながらDSLiteが欲しくなったんです。
これと『DSトレーニング 英語漬け』と『DSトレーニング もっと英語漬け』





http://www.nintendo.co.jp/ds/angj/

中古でDSLiteを探したけど、中古無いのよねぇ。残念。
もうちょっと待ちましょう。

ブログができました

てすてす