[H8-ML(2573)] Re: 20KB を超えると転送できない??(セクションの初期化)
From: hamayan <hamayan@xxxxxxxxxxxxxxxx>
Date: 2002年12月14日(土)10時00分37秒
お世話になっています。hamayan です。

"Fujisawa> 私は秋月のCコンパイラを使っています。手元にはこれしかありません。
"Fujisawa> そういえば、日立のコンパイラでは__INITSCを使うというのは、トラ技2001年
"Fujisawa> 6月号に記載がありましたね。付録のCD-ROMを見たら日立のマニュアルにご
"Fujisawa> 指摘の部分が明記されていました。しかし秋月のコンパイラマニュアルにはそ
"Fujisawa> のような説明は1ページも無いのですが、スタック使用量一覧表というところに
"Fujisawa> __INITSCTを発見しました。それじゃ動くの?とmain()関数の最初に_INITSC();
"Fujisawa> を入れてみたところ、すんなりコンパイルを通って動作してくれました。

私も秋月のコンパイラのみ使用しています。バイナリファイルですが、
標準ライブラリを検索すると、__INITSCTを見付けられるので、組み込
まれてはいるのでしょう。但し、動作は無保証と考えた方が宜しいかと。
外部関数宣言も必要です。<−一応。
あ、でも秋月のコンパイラ自体無保証だから・・・ここで情報を持ちよ
るしか無いですね。

"Fujisawa> BCLR:	MOV.B	#H'00,@ER5

ER5がインクリメントしていないので、
ポストインクリメントレジスタ間接を使って、
MOV.B	#H'00,@ER5+
の方が良いでしょう。
同様に、

DTOR:	MOV.B	@ER5+,R0H
 	MOV.B	R0H,@ER6+

"Fujisawa> P.S.液晶の文字化け云々はヌル文字の書き忘れでした。
"Fujisawa>   (もはや記憶に無い??)

しかし、H8にはEEPMOVと言う強力な転送命令が有りますので、
アセンブラで書くなら、見逃す手は無いです。

私は、グローバル領域に画面バッファを作ってLCDの表示を行っ
ています。グローバル変数領域は、0クリアが必須なので、もし、
画面バッファみたいなのをグローバルに取っていれば、あながち無
関係とも言えないでしょう。

------------------------------------------------------------
)^o^()^o^()^o^()^o^()^o^()^o^()^o^()^o^()^o^()^o^()^o^()^o^(
☆☆☆☆☆☆☆☆☆☆☆☆designed by hamayan☆☆☆☆☆☆☆☆☆
from はまやん
アドレスは
	hamayan@xxxxxxxxxxxxxxxx
FILEを添付される場合は
	hamayan@xxxxxxxxxxxxxxx
★★★★★★★★★end of message and thank you★★★★★★★

スレッド概略
[2478(R)](起点)
 └[2572(U)]
   └[表示中]
     └[2574(1)]


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


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