0

戻り関数の「BX LR」をコンパイラに生成させないようにするにはどうすればよいですか。オプション --ARM_only (in compiler + assembler + linker) も設定しましたが、これは役に立たず、axf ファイルにこのコードがついにありました。Keil の私のターゲットは ARM7TDMI に設定されています (ターゲットを ARM7 または Thumb なしの他のターゲットに設定することはできません)。

4

1 に答える 1

4

BXターゲットアドレスの最下位ビットが 0 の場合、Thumb モードに切り替わりません。つまり、通常の分岐としても使用できます。

BX LRおよび egの命令サイクル時間MOV PC,LRも ARM7TDMI で同じ (2S + 1N サイクル) であるため、どちらを使用してもパフォーマンスの点で勝るものはありません。

于 2013-01-13T08:54:57.260 に答える