win32-Ml.exe的用法

发布时间 2023-10-09 07:34:36作者: 天子骄龙

 

不同版本的MASM在使用上有很大的不同, 本节所指的是可用于Win 32汇编编程的MASM 6.14及以上版本, MASM编译器的命令行用法为:

Ml  [/选项]  汇编源文件列表  [/link链接选项]

要注意的是汇编选项要集中写在源文件名的前面,比如下面的两条命令:
Ml /c /coff /Cp Test.asm
Ml /c /coff Test.asm /Cp
虽然它们都可以编译Test asm文件, 但第二句的/Cp选项由于写在了汇编源文件名的后面,实际上会被忽略掉。

另外,多个选项之间一定要加空格,经常有初学者将多个选项连在一起写成“/c/coff”,结果当然是会报错,因为编译器将它当做一个选项来辨认了

 

 

Ml在Win 32汇编编程中常用的选项:

/AT   允许支持微型内存模式。对与.COM文件格式的要求互相冲突的代码给出错误信息。注意该选项和.MODEL TINY伪指令并不完全相同

/Bl filename 选择其他的连接器

/c         (常用)只编译,不连接

/coff    (必用)生成obj文件格式为COFF格式

/Cp    (常用)源代码区分大小写

/Cu 映射所有标识符的大小写

/Cx 保留公共和外部符号的大小写(默认)

/D sysmbol[=value] 定义给定名字的文本宏。如果没有value部分,文本宏为空。定义中以空格隔开的多个符号必须以引号引起来。

/EP 生成一个预处理后的列表文件(发送到STDOUT).参见/Sf

/F hexnum 把堆栈大小设为hexnum个字节(这与/link /STACK:number是相同的)。值必须以十六进制格式表示。F和hexnum之间必须有一个空格。

/Fe filename 指定可执行文件名

/Fl[ filename] 生成一个汇编代码列表文件。参见/Sf

/Fm[ filename] 创建一个链接映像文件。

/Fo filename 指定目标文件名

/FPi 为浮点运算生成模拟代码(只用于混合语言编程).

/Fr[ filename] 生成.SBR源浏览文件。

/FR[ filename] 生成扩展形式的.SBR源浏览文件。

/Gc 指定使用FORTRAN或Pascal格式的函数调用约定和命名约定

/Gd 指定使用C格式的函数调用约定和命名约定。

/Gz 使用STDCALL调用约定。

/H number 外部名字限制为number个有效字符,默认是31个字符。

/help 调用ML的快速帮助。

/I pathname 设置包含文件路径。最多允许10个/I选项

/link 连接器选项和库

/nologo 在编译成功的情况下屏蔽编译器输出的信息。

/omf 产生OMF(Microsoft Object Module Format)文件。这种格式是老式16位Microsoft连接器(LINK16.EXE)所要求的。

/Sa 打开所有可用信息列表.

/Sc 在列表文件中增加指令执行时间信息。

/Sf 在列表文件中增加第一遍编译后的列表信息。

/Sg 使得MASM生成的带追出现在列表文件中。例如,如果想要查看.IF和.ELSE伪指令如何工作,则可以使用该选项。

/Sl width 设置列表文件中行的宽度,按每行字符数计算。抚慰在60~255之间,或者为0.默认情况下是0,同PAGE width伪指令。

/Sn 生成列表文件时关闭符号表。

/Sp length 设置列表文件每页的长度,按行数计算。范围是10~255,或者为0,默认情况下是0.同PAGE length伪指令。

/Ss text 为列表文件指定子标题,同SUBTITLE text。

/Sx 允许在列表文件中列出为假的条件块的清单。

/Ta filename 汇编不以.ASM扩展名结尾的源文件。

/w 同/W0。

/W level 设置警告级别,level=0,1,2,3

/WX 视警告为错误。

/X 忽略INCLUDE环境路径

/Zd 在目标文件中生成行号信息。

/Zf 使所有符号变成公共符号。

/Zi 在目标文件生成CodeView需要的调试信息。

/Zm 打开M510选项,以最大程度地同MASM5.1兼容。

/Zp[alignment] 对结构指定的字节边界对齐。alignment可以使1,2或4

/Zs 只进行参数检查。

/? 显示ML命令行选项的帮助信息。

/error Report 把汇编器内部的错误信息报告给Microsoft