2012年4月9日月曜日

キーボードの LED を光らせるドライバ

2012年4月6日金曜日

拡張インラインアセンブラの勉強 2

拡張インラインアセンブラの勉強 1

register 変数

2012年4月5日木曜日

関数のプロローグとエピローグ

2012年3月30日金曜日

scull ドライバ

2012年3月1日木曜日

アセンブラのローカルラベル



GNU ld のローカルラベルについて。
ローカルラベルで b がつくと前方へ検索、f がつくと後方へ検索の意味になる。

例えば、ARMで
1:
    b 1b
1:
というコードは前の1: へ分岐する。(つまり無限ループ)

1:
    b 1f
1:
は後ろの1:へ分岐する。


では、bf も付けずに、
1:
    b 1
1:
はどうなるかというと、アドレス「1」へ分岐という意味になるみたい。
(ですが、pc は4の倍数でないといけないので、アドレス「0」へ分岐になる。)