[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 できれば勝ったようなもんです。:-)