2011-03-13 47 views

回答

1

它看起來像創建一個零終止的字符串(因此,sz)。字符串的符號是你傳遞給宏的任何參數,並且它包含你作爲Text參數傳遞的任何內容,加上終止0.

它輸出跳轉指令跳過字符串,然後是字符串本身的字節。跳轉的標籤被聲明爲宏的本地,所以它不污染全局名稱空間。

我已經完成了x86彙編語言已經有一段時間了,但我想這會將字符串數據放在代碼段中,而不是放在數據段中,這似乎有點奇怪。

+0

但似乎'Name db Text,0'永遠不會運行,因爲它總是被跳出來,對吧? – assem 2011-03-13 10:04:42

+0

這只是數據。它不需要'運行'。事實上,它無法運行。彙編程序在源代碼中看到它,並在obj文件中包含字節,並在obj文件中包含該符號。 – 2011-03-14 02:05:08

+0

對不起,你能否詳細說明'Name db Text,0'如何在從未運行時生效? – assem 2011-03-14 06:53:42