[H8-ML(3767)] Re: スタートアップルーチンのI/O定義
From: Shigeru Makino <mac@xxxxxxxxxxxxxx>
Date: 2003年08月23日(土)15時21分04秒
macです。

Kengo Jinno さん <kengo@xxxxxxxxxxxx> wrote:
> > ただ、アセンブラーは言いつけ通り16Mのコードを作りますんで、
> > サイズが大きくなり、実行速度も低下します。
> 
> そこが腑に落ちないんですが…
> アドレッシングモードには8/16/24bitがありますが、
> 20/24bitの違いでそんなに差の出るコードを吐くんですか?

私も腑に落ちないので、実際のプロジェクトで、
実験してみました。

元は、普通にCで書いたものですが、
YC optionで、ASMを書き出すように設定し、
そのごプロジェクトファイルを編集し、

全部、元のC codeで指定してあるものを、
全部ASMに書き換え、YA optionで1M / 16M、
それぞれ、アセンブルしてみました。

1M mode
< TEXT	$E8	$78E7	$7800	$E8	CODE(R)
< DATA_CONST	$78E8	$811A	$833	$78E8	IDATA(R)
< DATA	$FDF10	$FDFAD	$9E	$811C	IDATA(RW)
< BSS	$FDFAE	$FE08B	$DE	$81BA	DATA(RW)
< HEAP	$FE08C	$FE191	$106	$8298	DATA(RW)

16M mode
> TEXT	$E8	$78EF	$7808	$E8	CODE(R)
> DATA_CONST	$78F0	$8122	$833	$78F0	IDATA(R)
> DATA	$FDF10	$FDFAD	$9E	$8124	IDATA(RW)
> BSS	$FDFAE	$FE08B	$DE	$81C2	DATA(RW)
> HEAP	$FE08C	$FE191	$106	$82A0	DATA(RW)

たいした違いではないですが、
微妙な差が出ますね。

ASMのLISTを比較しても、差はありませんでした。

出来上がった、mot fileは、
1M mode 90,516 バイト
16M mode90,548 バイト

とこれまた微妙な差が出ました。

-- mac


スレッド概略
[3765(R)](起点)
 └[表示中]


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


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