错误:无法识别的符号类型“”

时间:2016-04-21 18:48:12

标签: assembly arm

我的手臂代码:

                .text
                .section .rodata
format_string:
                .string "%d\n"
                .align 4
                .data
data:
                .space 8
                .globl main
                .type main, @function
main:
                ldr r11, data
                sub r2, r11, #0
                push {r2}
                ldr r2, #3
                push {r2}
                pop {r2}
                ldr r2, [r2]
                push {r2}
                pop {r2}
                pop {r3}

抛出以下错误:

test.s: Assembler messages:
test.s:10: Error: unrecognized symbol type ""

为什么?

3 个答案:

答案 0 :(得分:2)

  

Because some of the characters used in these syntaxes (such as @ and #) are comment characters for some architectures, some of the syntaxes below do not work on all architectures.

在ARM语法中,@是一个注释标记,因此当汇编器以密码告诉您时,它会在不完整的指令上看到空符号类型和barfs。

答案 1 :(得分:1)

在ARM arch中,分隔符%有效 像这样:

.type main, %function

答案 2 :(得分:0)

你的语法错了。

.type main,@function

你需要逗号