最近我在C中遇到了asm保留词,我想利用它来避免某些C语义规则:特别是,我想从函数中修改一个变量:
int a = 5;
asm("asm code to change a from 5 to, like, 6")
int main() {
printf("a equal to %d\n", a);
}
现在,从我的计算机科学课程中,我知道组装是依赖于平台的,所以它的使用应该是非常有限的。然而,我看到了一些反复的指令,如MOV或ADD。
我的问题是:
尽管程序集依赖于全局平台,但是否有一个子集为所有汇编程序所理解?我的意思是,如果我编写asm(
GNU汇编程序as根据体系结构使用不同的字符来指定单行注释,例如# on x86、; on 29k或@ on ARM。此外,不管平台如何,都支持C风格的注释(/* */)。
对于不同的体系结构,是否有不同的评论风格的技术原因?多行注释的意思是否定的,因为它可以在任何平台上工作-然而,如果对可用于注释的字符没有技术限制,为什么要设计汇编程序在不同的平台上要求不同的注释样式(对于单行注释)?