当前位置:编程学习 > 汇编语言 >>

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

补充:有关微机的问题!!!!!!!!!!!!各位!!求救!!!
答案:如果你用的windows下masm系列工具,请cmd下执行ml /?,会获取到帮助(),简单的几条 它带的参数有几十条,你可以看下。
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为扩展名的文件
其他:ASM51 [文件名] masm a.asm

上一个:《汇编语言》题目,很基础……
下一个:汇编语言程序设计 几个数找最大的一个

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,