win32-Ml.exe的用法

news/发布时间2024/8/25 17:03:29

 

不同版本的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

 

 

 

 

 

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.liansuoyi.cn/news/74835610.html

如若内容造成侵权/违法违规/事实不符,请联系连锁易网进行投诉反馈email:xxxxxxxx@qq.com,一经查实,立即删除!

相关文章

Linux Awk command All In One

Linux Awk command All In One shell script Awk languageLinux Awk command All In Oneshell scriptAwkAWK (awk /ɔːk/) is a domain-specific language designed for text processing and typically used as a data extraction and reporting tool. Like sed and grep, it …

fildder工具--过滤展示指定的host包

fildder过滤指定的host 选中Filters ->第二个下拉框选中 show onle the following hosts ->输入指定的host地址如:*.baidu.com(如果有多个地址时,每个地址后用;分割)->点击Actions->选择Run Filterset now -> Ctrl+x清空fildder抓取到的包 ->重新请求地址(…

2023-2024-1 20231303 赵泊瑄《计算机基础与程序设计》第二周学习总结

2023-2024-1 学号20231303 《计算机基础与程序设计》第二周学习总结 作业信息这个作业属于哪个课程 如2023-2024-1-计算机基础与程序设计这个作业要求在哪里 作业要求的链接如2023-2024-1计算机基础与程序设计第周作业)这个作业的目标 总结第二周学习收获作业正文 2023-2024-1 …

Laravel RCE后渗透利用

常规laravel组件 RCE后的简单后渗透利用引言 水一篇文章,本文介绍了常规laravel组件 RCE后的简单后渗透利用,常见的RCE Nday例如:CVE-2021-3129,篇幅内很多利用方式与 Aspera Faspex RCE后渗透利用 文章中类似,因此就不赘述了。 维持权限 RCE通过反弹shell命令,获取nc sh…

day05-字符串

我们在上篇day04-数据类型中简单介绍了一下字符串,以及字符串的下标,今天我们来详细认识下字符串。字符串(str)可以使用单引号或双引号来创建字符串,并且字符串是不可变的数据类型,字符串也是Python中最常用的数据类型,所以我们一定学会它,学习字符串一定先熟悉概念,知…

08:信息收集-架构,搭建,WAF等

前言:在安全测试中,信息收集是非常重要的一个环节,此环节的信息将影响到后续的成功几率,掌握信息的多少将决定发现漏洞机会大小,换言之决定着是否能完成目标的测试任务。也可以很直接的跟大家说:渗透测试的思路就是从信息收集这里开始,你与大牛的差距也是从这里开始的!…

输入一个5位数,逐个打印出这5位数的个位、十位、百位、千位、万位。

五位数I 描述输入一个5位数,逐个打印出这5位数的个位、十位、百位、千位、万位。输入输入为一个五位整数输出输出其万位、千位、百位、十位、个位 各式多少,每一位之间用一个空格隔开输入样例 1 12345输出样例 1 1 2 3 4 5 # 输入一个五位整数 num = int(input())# 提取并打…

Go with Protobuf

原文在这里。本教程为 Go 程序员提供了使用Protocol buffer的基本介绍。本教程使用proto3向 Go 程序员介绍如何使用 protobuf。通过创建一个简单的示例应用程序,它向你展示了如何:在.proto中定义消息格式 使用protocol buffer编译器 使用Go protocol buffer API读写消息这并不…

软考1

二进制转八进制——从小数点开始三位一组,不够补零 十进制转R进制——短除法 eg:十进制转二进制——不断除二取余直到零,逆向取余数 二进制B 十进制D 十六进制H通常只有无符号取证 原码符号位上,零正一负 机器字长第一位为符号位,其余为数值位 反码——正数的反码等于原…

第四次作业

这个作业属于哪个课程 https://edu.cnblogs.com/campus/uzz/cs3这个作业要求在哪里 https://edu.cnblogs.com/campus/uzz/cs3/homework/13061这个作业的目标 第4次作业-SQL语句的基本使用4-分组查询、连接查询select 学号,姓名,性别,出生日期,家庭住址 from student_info order…

在python中pip安装boto3

安装: https://aka.ms/vs/16/release/vc_redist.x64.exe安装之后重启。pip install scikit-learn -i https://pypi.tuna.tsinghua.edu.cn/simple如何在python中pip安装boto3 在python目录cmd下输入:pip install botocore -i pip install boto3 -i https://pypi.tuna.tsinghu…

GitHub CEO:AI 无法取代程序员

导读 GitHub 首席执行官 Thomas Dohmke 最近在公开场合分享了他对于人工智能和软件开发之间关系的看法。Thomas Dohmke 认为,在 Copilot 及其相关 Copilot Chat 等辅助工具的推动下,人工智能和软件开发现在已密不可分。 与此同时,他也坚持自己的观点 —— 滚雪球式的人工智能…

c语言代码练习(小游戏)24

太马虎,‘ ’和" "注意区分需求:井字棋 第一个文件:game.h#define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> #include <stdlib.h> #include <time.h> #pragma once #define ROW 3 #define LOC 3void IntBoard(char arr[ROW][LOC], int rot,…

ubuntu个人物理机分区demo

如图 800G演示分配注意本文来自博客园,作者:__username,转载请注明原文链接:https://www.cnblogs.com/code3/p/17747935.html

【Python】如何使用PyInstaller打包自己写好的代码

使用PyInstaller打包自己写好的代码 零、需求 最近接到一个小单,需要批量修改文档内容,用Python做好后要打包成exe程序给客户的Win7电脑使用,此时需要用到PyInstaller打包自己的代码,想到还要有给用户试用的需求,所以还要加密打包。这里介绍一下如何打包并“加密”自己的P…

专业综合课程设计 - 优阅书城项目(第三版)

此项目是《专业综合课程设计》带练项目实现的功能有: 登录、注销、添加图书、删除图书、编辑图书、分页功能(支持首页,上一页,下一页,末页,到第N页)、首页价格查询分页功能包含资源: 优阅书城(bookstore)源码 数据库数据 课程笔记下载链接:https://wwpv.lanzoue.com…

2023-2024 20231414 《计算机基础与程序设计》第二周学习总结

学期(2023-2024-1) 学号(20231414) 《计算机基础与程序设计》第二周学习总结 作业信息这个作业属于哪个课程 <班级的链接>(2023-2024-1-计算机基础与程序设计)这个作业要求在哪里 <作业要求的链接>(2023-2024-1计算机基础与程序设计第二周作业)这个作业的目标…

题目集:作业1-作业3

(1):前言:第一次第二次作业数量较多但是难度并不是很大,因此只要稍微努力便可完成,等到做第三次作业时候,第二道题目便把难度提上来了,由于难度较高因此只能完成部分测试点,由于之后改动较多前面能过的测试点反而不能过了,哈哈哈。 (2)设计与分析: 第二次作业7-1:impo…
推荐文章