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

问题描述 投票:0回答:3

我的手臂代码:

                .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 ""

为什么?

assembly arm
3个回答
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
投票

在ARM arch中,分隔符%的工作方式如下:

.type main, %function

0
投票

你的语法错了。

.type main,@function

你需要逗号

© www.soinside.com 2019 - 2024. All rights reserved.