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