Copyright 1996−2017 the NASM Authors – All rights reserved.Redistribution and use in source and binary forms, with or without modification, are permittedprovided that the following conditions are met:
• Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
• Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2.1.14 -X 選項:選擇錯誤報告格式
該選項用來選擇輸出NASM彙編時產生的錯誤時的格式。
目前有兩種格式可以選擇-Xvc
和-Xgnu
。-Xgnu
是默認格式,格式如下:
filename.asm:65: error: specific error message
filename.asm
是發現錯誤的源文件,65
是發生錯誤的源文件行,errror
是錯誤嚴重程度,可以是error
、warning
。specific error
是更詳細的錯誤文本信息,可以幫助用來定位問題。
-Xvc
格式是Microsoft Visual C++風格,格式如下
filename.asm(65) : error: specific error message
與-Xgnu
相比,只有錯誤行使用括號括起來的。
另外參見Visual C++ output format
,章節7.5
2.1.15 -Z 選項:將錯誤報告發送到文件
在MS-DOS下很難將一個程序標準錯誤報告重定向到一個文件中。自從NASM將產生的warming和error報告輸出到標準錯誤(stderr)中,這樣當你想在編輯器中打開warming和error信息變得困難。
因此NASM提供了-Z
選項,在該選項後可以指定一個文件名,NASM就會將warning和error信息輸出到該文件中。你可以使用如下指令:
nasm -Z myfile.err -f obj myfile.asm
在早期版本中,使用是-E
來實現本功能,但現在-E
被用作只進行預處理,參見2.1.21
2.1.16 -s 選項:將錯誤報告發送到標準輸出(stdout)
該選項,用於將NASM的錯誤報告重定向到stdout
,而不再輸出到stderror
中,該選項在MS-DOS中也有效。如下命令的作用是彙編文件myfile.asm
並通過管道(pipe)將輸出信息發送給more
指令。
nasm -s -f obj myfile.asm | more