这是我编写的一个简单的汇编语言程序:
section .text
global main ;must be declared for linker (ld)
main: ;tells linker entry point
mov edx,len ;message length
mov ecx,msg ;message to write
mov ebx,1 ;file descriptor (stdout)
mov eax,4 ;system call number (sys_write)
int 0x80 ;call kernel
mov eax,1 ;system call number (sys_exit)
int 0x80 ;call kernel
section .data
msg db 'Hello, world!', 0xa ;our dear string
len equ $ - msg ;length of our dear string
现在我不知道这行发生了什么:msg db 'Hello, world!', 0xa
我知道的意思msg db 'Hello, world!'
但是当我看到逗号时问题就0xa
出现了。
经过一些研究,我知道0xa
导致换行符的原因,但我只是不明白为什么在那里使用逗号?
是某种连接还是什么?像 c(++) 语法:cout << "asdfsdf" << var;
或者可能是 Java 语法:System.out.println("Hello,"+var+"!");
或 python 语法:print 'Yo '+var
请帮忙...