告诉GAS在Intel语法模式下使用分号进行注释

问题描述

我可以在GAS中使用分号作为注释字符吗?

我正在使用GAS 2.30和以下英特尔语法。

.intel_Syntax noprefix

.section .text

# Program entry point
.globl _start

_start:

    # Put the code number for system call
    mov eax,1

    # Return value
    mov ebx,0

    # Kernel call
    int 0x80

除了我必须使用'#'而不是';'作为注释字符之外,这很好用。

重要的主要原因是我拥有的编辑器(SublimeText 3.2.2,内部版本3211)仅对ARM或NASM汇编语法具有较高的语法,这两个语法都不能理解“#”作为注释,正如我所关注的那样主要使用Intel语法的材料,这是我想与我正在阅读的内容保持一致的方法

我检查了英特尔手册,超过5000页的PDF文档,除非我以某种方式错过了它,否则尽管英特尔的an introductory page使用分号进行评论,但它对评论没有任何帮助。

我的问题是,在这种情况下,是否有可能让GAS使用分号而不是井号,还是只是习惯了一些小的差异?

我知道GAS还将接受/,//和/ * * /,但是SublimeText无法理解所有这些。

有趣的是,告诉SublimeText使用Bash语法突出显示一个很好的解决方案,如下面的屏幕截图所示,但是也许有一种方法可以将GAS配置为也使用分号吗?谢谢。

GAS assembly syntax highlighting in SublimeText

解决方法

否,gas对此没有命令行开关或指令。注释字符为hardcoded

但是,如果您真的想要的话,在气源中更改它们并编译自定义版本似乎并不难。一眼便想将;添加到i386_comment_charsline_comment_chars,并将其从line_separator_chars中删除。