H8-SX基板 HEWのコンパイラ出力に妙に関心。 [RX&SH&H8]
例えばabc(short,short);とプロトタイプ宣言されている関数で、
abc(0x1234,0x5678);と書き、これを逆アセンブルすると以下の様になります。
H8SXのコンパイラのパラメーター渡しのルールはH8/300Hと同じなのかな、それならばER0、ER1(オプション設定でER2も)に引数をパックしてレジスタ渡しをし、レジスタ渡しできない分に付いてはスタック渡しとなります。
引数が共にイミディエイトなので確かにこれで良いわけですが、なーんか新鮮(笑)。
abc(0x1234,0x5678);と書き、これを逆アセンブルすると以下の様になります。
MOV.L #H'56781234:32,ER0 JSR @_abc:24
H8SXのコンパイラのパラメーター渡しのルールはH8/300Hと同じなのかな、それならばER0、ER1(オプション設定でER2も)に引数をパックしてレジスタ渡しをし、レジスタ渡しできない分に付いてはスタック渡しとなります。
引数が共にイミディエイトなので確かにこれで良いわけですが、なーんか新鮮(笑)。
2010-03-04 13:38
nice!(0)
コメント(0)
トラックバック(0)
コメント 0