3

アセンブリ コードで ARM 命令と THUMB 命令を混在させようとしています。たとえば、次のコードでは、両方のモードを使用しようとしています。

.thumb  @ .code 16
.section __TEXT,__text
.globl mySymbol1
mySymbol1:
 ....
.arm   @ .code 32
.section __TEXT,__text
.globl mySymbol2
mySymbol2:
...

さて、私の理解では、このコードをライブラリにコンパイルして nm で実行するとmysymbol1、腕としてmysymbol2表示され、親指として表示されるはずです。つまり、

0000xxxx (__TEXT,__text) external mySymbol1
0000yyyy (__TEXT,__text) external [Thumb] mySymbol2

しかし、両方とも腕として現れています。ここで何が欠けていますか?私のアセンブラコマンドは次のとおりです。

as -arch armv7 -o a.o a.s
4

1 に答える 1

3

.thumb_func をサム ラベルの前にサム ターゲットにする必要があります。そうしないと、gnu ツールがそれをアーム ターゲットとして扱います。(はい、サム ターゲットとして使用するラベルごとに .thumb と .thumb_func が必要です)。多くの例http://github.com/dwelch67

于 2012-07-17T17:01:45.333 に答える