我想注释掉一个ARM汇编代码的标签,因为我想玩不同的代码,但即使我注释掉主标签,编译器仍然抱怨标签已经定义。
这是代码
.section .data
.section .init
.globl _start
_start:
b main
.section .text
main:
mov sp, #0x8000
mov r1, #1
mov r2, #3
sub r1, r2
halt$:
b halt$
.section .data
; STARTING FROM THIS, IT IS SUPPOSED TO BE COMMENTED OUT
;.section .init
;.globl _start
;_start:
;b main
;.section .text
;main:
;mov sp, #0x8000
;bl EnableJTAG
;mov r1, #0
;mov r2, #0
;mov r3, #0 ;i = 0
;forloop:
;cmp r3, #100
;bpl forloopEnd
;tst r3, #0xAA
;bne elseif
Run Code Online (Sandbox Code Playgroud)
这是收到的错误
Error: symbol `_start' is already defined
Error: symbol `main' is already defined
Error: symbol `halt$' is already defined
Run Code Online (Sandbox Code Playgroud)
那么我该怎么做才能让编译器忽略注释标签呢?谢谢
@当对 32 位源代码使用 GNU 的 ARM 汇编程序时,该字符表示单行注释的开始:
一行中任何地方出现“@”表示注释的开始,该注释一直延伸到该行的末尾。
如果“#”作为一行的第一个字符出现,则整行都被视为注释,但在这种情况下,该行也可以是逻辑行号指令(请参阅注释)或预处理器控制命令(请参阅预处理) .
(来源)
对于 64 位源,情况并非如此。gas 对所有处理器都有可怕的文档(一种适合所有情况(,因此很难评论它可以做什么和不能做什么。
可能没有办法在 64 位gas 中注释掉一行。在输出-S在GCC仔细避免任何注释行,这是国际海事组织一个不好的迹象。
这是因为我指的是在64位armbian:
as --version
GNU assembler (GNU Binutils for Debian) 2.28
Run Code Online (Sandbox Code Playgroud)
如果得到确认,这可以被视为缺陷(“错误”)并且值得报告错误。
| 归档时间: |
|
| 查看次数: |
12546 次 |
| 最近记录: |