[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: OpenBlockSS



>出力をみて、それっぽい
>
>        lis 9,0xef60
>        ori 9,9,1792
>        lis 0,0x0000
>        ori 0,0,0000
>        stw 0,0(9)

一応 0xef600700 に 0 を書くコードになってます。:-)
普通は
	lis 9,0xef600700@ha
	addi 9,9,0xef600700@l
	li 0,0
	stw 0,0(9)
とかします。lis/ori が好きなら
	lis 9,0xef600700@h	/* @ha ではなくて @l */
	ori 9,9,0xef600700@l
	li 0,0
	stw 0,0(9)

もちろん、そのアドレスにレジスターがキャッシュなしでマップされて
いるのが前提です。

あと、out of order で実行されないように stw の後に eieio; isync
しておくと安全でしょう。(LEDだけなら関係ないけど)
# 405 のことはよく知りません :-P

私は OpenBlockS のデバッグでどうやってたかなーと思い出してみると、
たしかブートコードの printf を直接呼び出して printf デバッグして
たようなきがします。

とにかく printf できれば勝ったようなもんです。:-)