混合使用ARM和THUMB指令

我正在尝试在汇编代码中混合使用ARM和THUMB指令。 例如,在下面的代码中我尝试使用这两种模式:

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

现在,根据我的理解,当我将这个代码编译成一个库并运行nm时, mysymbol1应该显示为arm和mysymbol2应该显示为拇指,

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

但是两者都显示为胳膊。 我在这里错过了什么? 我的汇编程序命令是:

 as -arch armv7 -o ao as 

你需要拇指标签之前的.thumb_func作为拇指目标,否则gnu工具会把它当作arm目标。 (是的,你需要.thumb一次和.thumb_func为你想用作拇指目标的每一个标签)。 很多例子http://github.com/dwelch67