我的手臂代码:
.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 ""
为什么?
在ARM语法中,@
是一个注释标记,因此当汇编器以密码形式告诉您时,它会在不完整的指令上看到空符号类型和barfs。
在ARM arch中,分隔符%
的工作方式如下:
.type main, %function
你的语法错了。
.type main,@function
你需要逗号