首页 > 编程知识 正文

汇编语言的指令,关于汇编语言程序相对于

时间:2023-05-03 10:20:24 阅读:42008 作者:1937

全部展开

如果在windows上使用masm系列工具,请在cmd上输入ml /? 单击可获取e 5a 48 de 588 b 662616964757 a 686964616 f 313326463739帮助()。 简单的几个与之相关的参数有几十个,请看。

ML.EXE参数的说明(所有参数都有大小写) )。

ML [参数]原始文件的文件名[/link linkoptions]

/AT极小内存模式下的功率(与. model tiny不同) ) ) ) ) ) ) ) ) )。

/Bl filename替换链接(不使用link链接而替换为其他文件) ) ) ) ) ) ) )。

/c只进行分组翻译,不连接

/Cp区分所有名称(标签名称或内存变量名称)的大小写

/Cu将参数转换为大小((默认值) ) ) ) )。

/Cx区分通用名称和外部名称的大小写

生成/coffcoff格式的输出目标文件

/Dsymbol[=value]使用保留字定义文本宏

/EP在画面上生成预处理后的原始列表

/F hexnum将堆栈大小设置为hexnum

/Fb [filename]生成有限制的可执行程序

翻译/Fo filename后,指定. obj程序名称

/Fe filename链接后,指定. exe或.com程序名称

翻译/Fl [filename]生成. lst文件

/Fm [filename]链接后,将生成. map文件

/FPi浮点运算\ "运算模拟器(仅限混合语言)

/Fr [filename]翻译后,生成. sbr程序(如以前的功能调用那样) ) ) ) ) ) ) ) ) )。

/FR [filename]被翻译生成扩展. sbr程序

/Gc指定FORTRAN或PASCAL样式的功能调用

/Gd指定c语言样式的功能调用

/Gz指定Stdcall样式的功能调用

/H number外部名称的字符数限制(默认为31个字符) ) ) )。

/Help用ML调用快速帮助

/I prthname设置导入文件(宏文件)的路径

/link options还指定链接时的选项

/nologo版权抑制(版权)消息

打开/Sa列表程序中的所有有效信息

/Sc生成脚本的定时周期在列表文件中

/Sf将第一阶段的列表添加到列表程序中

/Sg开放列表程序中组合语言的生产中代码

/Sl width配置列表程序中每行的宽度(60~255或0 ) )。

关闭/Sn列表程序的符号表

/Sp length配置列表程序的每页行数(10~255或0 ) )。

/Ss text指定列表程序的副标题(与subtitle相同) ) ) )。

/St text指定列表程序的标题(与title相同的功能

/Sx打开列表错误条件

指定/ta文件名的原始文件名。 用于不为. asm自己指定的情况

/支持虚拟机的虚拟内存

/W将警告级别设置为0 (功能与/W0相同) ) ) ) ) )。

/W[0/1/2/3]设置警告级别(0、1、2、3 )

/WX返回警告的错误代码

/X导入文件删除(忽略) include环境(set include=. ) )。

/Zf声明所有符号都是共同的

/Zd在目标程序中生成CodeView行号

/yydppx在目标程序中生成CodeView信息

/Zm运行选项m510以与MASM 5.1兼容

/Zp [alignment]数组结构变量的起始地址为1、2、4的倍数地址

/Zs只检查语法,不生成目标程序

//? 显示ML命令行语法的摘要

LINK.EXE参数的说明

LINK [objs]、[exefile]、[mapfile]、[libs]、[deffile]

/A:size数组扇区地址、DOS程序中不可用

隐藏/b.lib或. obj路径中的错误消息

输入/cocodeview的符号和列号

/CP:number配置程序最大空间(单位16B ) )。

按默认(DOSSEG )对/DO段的顺序进行排序

将/DS数据加载到数据节的高位地址

不允许/E压缩可执行文件和/CO或/INC

/F同时使用远程呼叫功能和/PAC

显示/helink.exe选项

/HI执行时加载高存储器地址

/INC计划加入ILINK链接

/INF显示链接进程的消息

/LI将行号和绑定地址添加到MAP程序中

将公共符号添加到/mmap程序

/nod [ :库]将忽略指定的库

防止/noelink在库中搜索扩展字

/NOF远程呼叫无效

/NOI 区别大小写字母

/NOG 忽略群组的宣告,以便与古早版相容

/NOL 抑制LINK版权讯息

/NON 与/DO同,但不加程式起始位元组

/NOP 不压缩邻近程式区段

/OV 设定抑制插断

/PACKC:number 压缩邻近程式区段

/PACKD:number 压缩邻近资料区段

/PAU 暂停以便更换磁片

/PM 指定Windows或OS/2程式型态

/Q 建立程式库给Quick语言

/SE:number 设定连结时区段总数,预设为128

/ST:number 以此设定堆迭的大小(1~64KB)

/T 建立极小模式程式.COM(需设.model tiny)

/? 显示简单的LINK语法

驱动编译-链接的相关解析:

/nologo 不显示logo信息。

例如: ml /nologo XXX XXX XXX XXX

则不显示

“Microsoft (R) Macro Assembler Version 6.14.8444

Copyright (C) Microsoft Corp 1981-1997. All rights reserved.”

/driver

编译驱动程序, 这个选项造成的最重要的影响是文件中会多出一个"INIT"节区.另外还有".idata"节区,里面包含了一些 IMAGE_IMPORT_DESCRIPTOR结构,指出了需要导入的函数和模块的名称。"INIT"节区的属性被标志为可丢弃,这样装载程序获取了相关的导入信息后,这个节区的内容即被丢弃

/subsystem: native ; 编译 驱动程序

windows ; 编译窗口程序

console ; 编译控制台程序

将对PE文件结构中的 IMAGE_OPTIONAL_HEADER32.Subsystem进行设置,

IMAGE_SUBSYSTEM_UNKNOWN equ 0

IMAGE_SUBSYSTEM_NATIVE equ 1

IMAGE_SUBSYSTEM_WINDOWS_GUI equ 2

IMAGE_SUBSYSTEM_WINDOWS_CUI equ 3

我们需要为驱动指定合适的环境,当链接.exe或者.dll文件的时候,一般指定为Win32子系统。内核模式驱动程序不需要任何子系统,所以我们使用的参数是native

/base:0x10000--将驱动映像的基地址设置为10000h

/align:32--系统内存是很宝贵的,所以最好使用更有效的节区对齐数值

/out:%dvr%.sys--链接器默认会创建以exe作为扩展名的文件,当指定了/DLL选项后,创建的是.dll文件,在这里,我们要强制让它创建以.sys为扩展名的文件

本回答被提问者和网友采纳

已赞过

已踩过<

你对这个回答的评价是?

评论

收起

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。