[H8-ML(1270)] H8tinyトラブル解決!
From: 吉川 茂和 <yosikawa@xxxxxxxxxxxxxx>
Date: 2001年09月07日(金)21時12分05秒
こんばんは吉川です


先日よりお騒がせしていたH8tinyの動作が不安定な件、
解決しました。

リストファイルを調べていてやっと気が付きました。

分かってみれば、お恥ずかしいのですがプログラムミスで原因は
以下の行でした。

−−−−−−−−−−−−
	JMP	@009
?008
	〜
?009
	〜
	RTS
−−−−−−−−−−−−

これはローカルラベルを使ってサブルーチン内で分岐する所なので
すが、「@?009」と書くべき所を、ここだけ「?」を忘れてました。

結果、ここからアドレス「0009H」に飛んでしまっていたのです、
RTSを通らないので、スタックを浪費して不安定になっていたようです。


失敗の言い訳を言わせてもらうと

①、Z80のアセンブラでは、こういうローカルラベルの書き方で
    失敗した事はなかった。
②、日立のアセンブラマニュアルにもローカルラベルの例として
    数字だけの書き方が示されていた。
③、このような書き方はアセンブラがエラーを出してくれると思い込んでいた。
   (アドレス指定が10進表記でも出来るとは思わなかった)

ということで、ローカルラベルといえども数字だけを使うのは止めた方が
よいですね。
アルファベットが入ってれば(A01とか)アセンブラがエラーを出してくれる
事を確認できました。

ではまた
スレッド概略
[1262(R)](起点)
 └[1268(U)]
   └[表示中]


投稿順に移動
[←前の記事へ(P)]
[→次の記事へ(N)]


リスト表示へ
[このスレッド(T)]
[本記事の前後(L)]