li指令 汇编_在汇编语言程序中,用于指示汇编程序如何汇编的指令是什么?

展开全部

如果你用的windows下masm系列工具,请cmd下执行ml /?,会获取到e5a48de588b662616964757a686964616f31333264663739帮助(),简单的几条 它带的参数有几十条,你可以看下。

ML.EXE 参数说明(所有参数均有大小写之分)

ML [参数] 原始档之档名 [/link linkoptions]

/AT 极小记忆体模式致能(不同於 .model tiny)

/Bl filename 选译交替连结(不使用link连结而改用别的档案)

/c 仅进行组译而不连结

/Cp 区分所有名称(标名或记忆体变数名)之大小写

/Cu 将所以参数转成大小(预设值)

/Cx 区分公用和外部名称之大小写

/coff 产生coff格式的目的档

/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呼叫QuickHelp

/I prthname 设定引入档(巨集档)的路径

/link options 同时指定连结时用的选项

/nologo 抑制版权(Copyright)讯息

/Sa 开启列表程式中所有有效资讯

/Sc 产生指令码的时序周期於列表档中

/Sf 加入第一阶段列表至列表程式中

/Sg 开启列表程式中组合语言产中码

/Sl width 设定列表程式每行的宽度(60~255或0)

/Sn 关闭列表程式中的符号表

/Sp length 设定列表程式每页的列数(10~255或0)

/Ss text 指定列表程式之副标题(与subtitle相同)

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

/Sx 开启列表程式中错误条件

/Ta filename 指定原始档案名称(用於不为.asm而自行指定时)

/VM 致能虚拟记忆体

/W 设定警告的等级为0(与/W0功能相同)

/W[0/1/2/3] 设定警告等级(0,1,2,3)

/WX 传回警告的错误码

/X 删除(忽略)引入档include环境(set include=..)

/Zf 宣告所有符号为公用的

/Zd 产生CodeView列号於目的程式

/Zi 产生CodeView资讯於目的程式

/Zm 致能option 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路径错误提示

/CO 加入CodeView的符号及列号

/CP:number 设定程式最大空间(单位16B)

/DO 以预设值(DOSSEG)排列区段顺序

/DS 载入资料至资料区段高位址

/E 压缩执行档,与/CO或/INC不容

/F 使远程呼叫致能与/PAC并用

/HE 显示link.exe选译项

/HI 执行时载入高记忆位址

/INC 准备加入ILINK连结

/INF 显示连结过程的讯息

/LI 加入列号与结合位址至MAP程式

/M 加入公用符号至MAP程式

/NOD[:library] 忽略指定程式库

/NOE 阻止LINK从程式库中搜寻扩充字

/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为扩展名的文件

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

2Q==

已赞过

已踩过<

你对这个回答的评价是?

评论

收起

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值