お世話になっています。hamayan です。
"one> スタートアップルーチン(オブジェクトの逆アセンブリ?) <−本当に逆アセンブル?
"one> .CPU 300HA
"one> .IMPORT _main
"one> .SECTION VECT,DATA,LOCATE=H'000000
"one> .DATA.L H'000100
"one> .ORG H'000100
"one> .section P,code
"one> MOV.L #H'FFF10,ER7
"one> ldc.b #0,ccr
"one> jmp @_main
"one> .END
"one>
"one> です。
"one> 正直どこをどう変えればいいのか・・・。
subファイルで、セクションの配置を指定しているので、逆に
LOCATEとか、ORG等の絶対アドレス指定とぶつかって、混乱し
易くなります。
subファイルを使うなら、絶対アドレス指定は外して、
.CPU 300HA
.IMPORT _main
.EXPORT start
.SECTION VECT,DATA
.DATA.L start
.section P,code
start:
MOV.L #H'FFF10,ER7
ldc.b #0,ccr
jmp @_main
.END
subファイルの方も、デバックモニター上で動かすなら、下記の配置を
考慮して、
"one> うーーんと、RAMは200000番地から配置されると書いてあります。
"one> H'000000
"one> モニターベクトルエリア
"one> H'0000FF
"one> H'000100
"one> モニターROMエリア
"one> (ユーザー使用できません)
"one> H'005C63
"one> H'200000
"one> ユーザーベクトルエリア
"one> H'2000FF
"one> H'200100
"one> ユーザーエリア
"one> H'207F23
"one> H'207F24
"one> ユーザーRAMエリア <−多分デバックモニターのワークエリア
"one> (ユーザー使用できません)
"one> H'207FFF
"one> H'FFEF20
"one> 内蔵RAMエリア
"one> (ユーザー使用できます)
"one> H'FFFF1F
subファイル
OUTPUT moji
PRINT moji
INPUT resetv,moji <−resetvと言うのは、前述のアセンブラのコードの事?
ENTRY start
LIB c38hab
START VECT(200000),P,C(200100),B(0204000)
EXIT
DやRセクションを使っていない様なので、指定していません。
これで、HTERMでロードし、F5キー(GOコマンド)でプログラムスタートと
なると思います。試して見て下さい。
なお、デバックモニターは、リセットベクターの値を読んで、そのアドレ
スからスタートするのではなく、PCからスタートするので、上の例では、
”G 200000”では動かない筈です。要するにデバックモニターで動けば
良いのなら、RESETベクターは要らない、と言う事です。
アセンブルファイルでstartをエクスポートし、subファイルのENTRYで指定
しているのは、ロード後に、スタートアドレスをPCに渡す為です。
設定の意味は、追々勉強して下さい。
なお、動くのが判ったら、やはり参考書が必要でしょう。
『H8マイコン完全マニュアル』は、著者が日立半導体セミナーの担当講師
の方なので、宜しいんではないでしょうか。
追伸
AE-3067に付属?のデバックモニターは、使った事が無いので、上記の仕様
と一致するか判りません。上記の動作は、半導体セミナーで無料で配布さ
れているデバックモニター、秋月C改造版での動作です。
多分、元のソースは同じだと思うけれど。
------------------------------------------------------------
)^o^()^o^()^o^()^o^()^o^()^o^()^o^()^o^()^o^()^o^()^o^()^o^(
☆☆☆☆☆☆☆☆☆☆☆☆designed by hamayan☆☆☆☆☆☆☆☆☆
from はまやん
アドレスは
hamayan@xxxxxxxxxxxxxxxx
URL
http://www003.upp.so-net.ne.jp/hamayan/
★★★★★★★★★end of message and thank you★★★★★★★