[H8-ML(3631)] Re:$B%k%M%5%9$N%G%P%C%/%b%K%?#T#I#P#S(B
From: watson8@xxxxxxxxxxxxx
Date: 2003年07月12日(土)00時42分31秒
watson8です。いつもお世話になります。

hamayanさんこんばんわ。おひさしぶりです。^^

#3629>処理系(コンパイラ)が異なる為に、引数の渡し方が違う為ではないでしょうか。
(snip)
#3629>異なる処理系ではちょっと難しいですね。秋月はぎりぎりセーフ?

おっしゃとおりで私も「動くはずない」と思ってました。ところが、

printf(fmt,1L,2L,3L,4L);

はトラ技でもgccでも
push.l #4
push.l #3
push.l #2
push.l #1
push.l #fmt
jsr  @_printf
にコンパイルされます。他のレジスタの保存状況とか、これだけでは
言い切れませんが「たまたま動く」可能性はあるかと思います。
(途中shortが入ると「トラ技はpush.w/gccはpush.l」でこけます)

ウチのトラ技+gccではとりあえず動いてますが、gccのビルドや
コンパイルオプションによるのかも知れません。
トライされた方のレポートが欲しいところですね。


宮前さんこんばんわ。
#3628>HEW2でカスタマイズしたVer 3.0のデバックモニタ(3664 printf
#3628> 付き) も gccからはダメでした。

ということでレポートありがとうございます。(私が言うのも変?)
Tinyではポインタ型が16ビット長になるんで危なそうですね。
言い忘れてましたけど、私が見たのはadvancedです。

で、基本的質問なのですが(>all)、ウチのgcc(秋月52Fか69Fのバンドル版)って
normalのコード吐けるのでしょうか?(^^;;;) -mhあたりがくさそうなんですけど。

mailto:watson8@xxxxxxx
http://watson8.com/


スレッド概略
[表示中](起点)
 ├[3632(1)]
 └[3633(2)]


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


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