這裏有一個簡單的彙編語言程序我已經寫:彙編中的逗號(,)運算符是什麼?
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
請幫助...
好吧...所以當你連接一個字符串和一個數字的數字被轉換成它的ASCII字符串,然後使用它呢? – tenstar
你有其他的方式。彙編中的字符串只是初始化一組字節值的一種便捷方式。字符串中的每個字符都存儲爲一個字節值(它是ASCII值),並按照它們寫入的順序依次存儲。在這種情況下,你不應該把它看作字符串連接,這不是真正發生在這裏的事情。 –
哦...ķ!我知道了.. – tenstar