2017-02-18 90 views
0

我複製粘貼在NASM文檔PDF頁面46下面的代碼:與NASM彙編中使用%SUBSTR

`%substr` requires string as second parameter 

但atfer:

%substr mychar ’xyzw’ 1 ; equivalent to %define mychar ’x’ 

而且組裝它,我收到以下錯誤後我把'xyzw'改爲'xyzw'或者'xyzw',它的效果很好。那麼我在這裏錯過了什麼?

+1

最可能的是他們搞砸PDF - 可能還有一些文字處理器試圖有點太聰明引號。 –

回答

1

正確的語法示於online documentation

%substr mychar 'xyzw' 1  ; equivalent to %define mychar 'x' 

一般地,對於它談論字符串和字符串文字,其被解釋here,並且可以通過單引號包圍,雙引號和反引號預處理器字符串函數:

String constants are character strings used in the context of some pseudo-instructions, namely the DB family and INCBIN (where it represents a filename.) They are also used in certain preprocessor directives.

A string constant looks like a character constant, only longer.

而關於character constants(其中分隔符實際上解釋):

A character string consists of up to eight characters enclosed in either single quotes ('...'), double quotes ("...") or backquotes (`...`). Single or double quotes are equivalent to NASM (except of course that surrounding the constant with single quotes allows double quotes to appear within it and vice versa); the contents of those are represented verbatim. Strings enclosed in backquotes support C-style -escapes for special characters.

至於說在註釋中,最有可能的PDF是由文字處理器急於排版漂亮的字符,而不是正確的人搞砸了。

+0

謝謝,但它的方式不適用於反引號?是否有任何已知的情況(說明),其中一種字符串被接受而不是其他字符? –

+0

它與我相信的反引號合作。您的代碼不工作時使用某種非常引號的,不是從他們'」,」,\''組。您'''。 – Ped7g

+0

@MaykelJakson它與反引號工作'\''但與性格,你剪切和粘貼'''。 –