masm32基本配置与写出第一个汇编程序

在windows系统上,如果编写C/C++等程序,只需利用visual Studio即可,但如果打算编写汇编程序,往往需要另外配置很多东西,另新手望而却步。

masm32是由个人开发的一套可以在Windows平台上编写汇编的工具,只需要简单配置,就可以编写汇编程序。

注意:不要与微软的masm宏编译器搞混,两者不是一个概念。

一、masm32的安装

  去官网,然后DownLoad,一路下来,安装到C盘或D盘根目录下即可。

二、配置环境变量(用户变量)

  分别配置 include(xx.inc的头文件);lib(静态链接库);PATH(工具的路径)。

  注意:如果你不添加环境变量,之后你在汇编文件中写代码,其包含文件必须使用绝对路径(include \xxx\xxx\masm32.inc)

  

三、写一个汇编代码

 1 .386
 2 .model flat, stdcall
 3 option casemap:none
 4
 5 include kernel32.inc
 6 includelib kernel32.lib
 7
 8 include masm32.inc
 9 includelib masm32.lib
10
11 .data
12        msg1 db "What is your name? ", 0
13        msg2 db "Hello ",0
14
15 .data?
16        buffer db 100 dup(?)   ; reserve 100 bytes for input storage
17
18 .code
19 start:
20        push offset msg1        ; put in to stack the effective add of msg1
21        call StdOut                  ; call console display API
22
23        push 100                    ; set the maximum input character
24        push offset buffer       ; put in to stack the effective add of input storage
25        call StdIn                    ; call console input API
26
27        push offset msg2       ; put in to stack the effective add of msg2
28        call StdOut                 ; call console display API
29
30        push offset buffer      ; put in to stack the effective add of input storage
31        call StdOut                 ; call console display API
32
33 exit:
34        push 0
35        call ExitProcess
36 end start

四、编译并执行

  1. 定位到 a.asm 文件中。

  2. 汇编,生成 a.obj 文件  ml /c /coff a.asm

  3. 链接,生成 a.exe 文件  link /subsystem:console a.obj  (注意:这是命令行程序,如果生成窗口程序,subsystem的参数要修改为 windows)

五、程序执行效果

原文地址:https://www.cnblogs.com/onetrainee/p/12093802.html

时间: 2024-10-16 14:03:12

masm32基本配置与写出第一个汇编程序的相关文章

小程序初体验:手把手教你写出第一个小程序(一)

本文笔者将根据quick start中的范例代码,带大家简单地剖析一下小程序的运行方式,并介绍小程序开发中一些通用的特性,带着大家一步步写出自己的小程序. 适用对象:前端初学者,对小程序开发感兴趣者 tips:由于笔者也是一位前端菜鸟,所以尽量用简单直白的语言为大家讲解,如有说的不到位的地方,还望多多指教. 吊了我们一年胃口的小程序终于和大家见面了.经过了一天的发酵,小程序已经成为了今天的超级头条(汪汪哭晕在厕所). 经历了一天媒体对小程序的狂轰滥炸,相信大家对于小程序一定充满了好奇.与其跟风转

总结:写出 一键修图(单图hdr)算法的全过程 (附demo下载)

2015.8月中旬,开始自学图像处理. 经历如下阶段: 1.泡图书馆一个多月,查阅相关书籍 2.写出第一个版本demo 3.四十多次算法修改 4.再进图书馆查阅书籍,网购书籍 5.学习理解其他图像算法,查阅国内外论文 6.淘宝购买大学二手图像处理相关教材,打印国外书籍 7.阅读大量图像处理相关开源项目 8.看完手上所有书籍 9.写出相对完善的第一版demo 历时5个月. 从不了解图像处理技术领域到做出来,再到一次次的突破. 当然目前这个算法还有改进的空间. 在俺2.2Ghz CPU的电脑上,可以

Swing:LookAndFeel 教程第一篇——手把手教你写出自己的 LookAndFeel

本文是 LookAndFeel 系列教程的第一篇. 是我在对 Swing 学习摸索中的一些微薄经验. 我相信,细致看全然系列之后.你就能写出自己的 LookAndFeel. 你会发现 Swing 原来能够这样美. -------------------------------------------------------------------------------- 引言: 我第一次接触 Java 要追溯到非常多年前做毕业设计的时候. 那天我和同学来到了一个微型软件公司(三程序猿.一会计.

程序员如何写出一份好的文档?

写文档的重要性 对于软件相关行业,在学校或单位大家也许都已经注意到了,除了要编写的程序.绘制设计图之外,还有一个重要的工作便是写文档.为什么要写文档呢?因为我们要把自己做的东西展示出来,不光展示给同行看,可能还要展示给其他岗位上的工作人员看,甚至展示给用户看.如果我们只是会写程序,不会在文档中恰当且优雅地描述自己的想法,那么就真正的成为“码农”了. 我注意了一下,周围的同事会写高质量文档的确实很少.李开复老师在<浪潮之巅>的序言中说到:“我认识很多顶尖的工程师,但具备强大叙事能力的优秀工程师,

程序员如何写出一份好的文档?(转)

程序员如何写出一份好的文档? 分类: 杂谈2015-06-10 16:37 1249人阅读 评论(6) 收藏 举报 在实际的软件开发工作中,除了编写代码之外,程序员还会花大量的时间来编写相关的研发文档,这些文档包括:详细设计文档.单元/集成测试文档.软件版本开发报告.软件安装说明.软件升级指导书等. 在<程序员既要写好代码,又要写好文档>(http://www.zhouzhaoxiong.com/142.html)一文中,我提到过:“代码”和“文档”就像是一个人的左膀右臂,一定要让两者均衡发展

写出优质Java代码的4个技巧(转)

http://geek.csdn.net/news/detail/238243 原文:4 More Techniques for Writing Better Java 作者:Justin Albano 翻译:Vincent 译者注:如果现在要求对你写的Java代码进行优化,那你会怎么做呢?作者在本文介绍了可以提高系统性能以及代码可读性的四种方法,如果你对此感兴趣,就让我们一起来看看吧.以下为译文. 我们平时的编程任务不外乎就是将相同的技术套件应用到不同的项目中去,对于大多数情况来说,这些技术都

[译]C++ WEB编程:写出你的CGI程序

一.什么是CGI      CGI(The Common Gateway Interface):通用网关接口,定义web服务器和客户脚本进行信息交互的一系列标准. 二.WEB浏览器       为了了解CGI的概念,让我们来看看当我们单击一个超链接来浏览一个特定的web页或URL的时候,背后会发生什么事?       (1)浏览器首先会链接HTTP web 服务器并且请求一个URL 页面:       (2) WEB服务器将会解析这个URL并且查询请求的文件名,如果找到了请求文件服务器就会将这个

写出优质Java代码的4个技巧

我们平时的编程任务不外乎就是将相同的技术套件应用到不同的项目中去,对于大多数情况来说,这些技术都是可以满足目标的.然而,有的项目可能需要用到一些特别的技术,因此工程师们得深入研究,去寻找那些最简单但最有效的方法.本文我们将介绍一些有助于解决常见问题的通用设计策略和目标实现技术,即: 只做有目的性的优化 常量尽量使用枚举 重新定义类里面的equals()方法 尽量多使用多态性 值得注意的是,本文中描述的技术并不是适用于所有情况.另外这些技术应该什么时候使用以及在什么地方使用,都是需要使用者经过深思

力荐!这些工具可以帮你写出干净的代码

作者|Adeel Imran译者|无明 想写出好代码,却不知道从哪里开始?想删除死代码?想在代码库中找出未被使用的变量?想在代码中找出有问题的模式? 你是多元化团队的负责人吗?你的团队中有新来的开发人员吗?你担心他们会写出不符合标准的代码吗?在代码评审时是否花了一整天的时间去检查代码标准,而不是实际的逻辑实现? 我一直在做这样的事情,经常忙得像热锅上的蚂蚁.但从现在开始,我们要保证永远不再担心这类问题.在阅读本文过程中,如果遇到困难,可以参考代码库(https://github.com/adee