Win2K上にH8用のクロスコンパイル環境を作成しました。 結構、苦労(?)したので、資料を残しておきます。
こんなマクロを定義しよう。
#define DisableIRQ asm("orc.b #0xc0,ccr") #define EnableIRQ asm("andc.b #0x3f,ccr")
http://www.exp.org/h8/ml/archive/cgi/view.cgi?message=1476
gccのinfoに説明がある。 infoの日本語訳の在処。 http://www.sra.co.jp/wingnut/gcc/
細渕氏のホームページ(下参照)のなかに、 結構 情報がある。
gcc H8/300 コンパイラでは、 引数の引渡しに、 最初の3つまでが R0(ER0) から R2(ER2) を使い、 残りはスタックを使います。 また、関数コールにおいて、R3(ER3)からR6(ER6)の レジスタが破壊されてはいけません。