Masm for Windows集成开发环境编写汇编程序

简介:

由于最近在学习汇编,用的软件是一款叫“Masm for Windows集成开发环境”,但是发现该软件的资料比较少,对于我们这样刚刚学习汇编的同学,我查找了很多资料,下面主要是介绍该工具及2个汇编的基本程序。

一.软件的使用

下面是阅读完四川大学的课件后几张介绍该软件运行的基本方法:
1.进入Masm forWindows集成实验环境

2.编写程序,该代码是该软件自带的简单入门实例11个中的第一个,后面将详细介绍该代码

3.保存汇编程序.编写完程序必须要保存后才能运行

4.运行程序

5.调试程序

6.我们老师上课教授的用DosBox的Debug调试方法,也可以用该软件实现

二.“Helloword”程序讲解

1.SEGMENT:表示段,段定义伪指令。汇编中有数据段、代码段、堆栈段以及附加段
格式为: 段名 SEGMENT [定位类型][组合类型][类别名]
              段名 ENDS
功能:把程序分段,实现存储器的分段管理
该程序由DATAS数据段和CODES的代码段两部分组成

2.STRING DB 13,10,‘Hello World!’,13,10,’$’
13和10分别表示回车符和换行符的ASCII码,执行结果是回车换行
’$’是结束标志,否则不加’$’会出现乱码。
这句话相当于C的(char*)STRING=”\nHello World!\n”;

3.INT 21H是DOS中断功能调用的中断号;MOV AH,4CH功能是让你退出程序
其中:MOV  AH,4CH
INT 21H是程序结束时使用的模板,使用AH来选择功能,其中4CH号功能是退出程序的意思。这个中断告诉程序执行完毕后返回DOS。

4.MOV AH,9中9是打印字符串的命令号(09H对应的是显示字符串)
注意:课堂与许多教材中的第一个汇编实例:“123+456=sum”的例子,都是没有输出语句的,必须使用debug调试来显示程序的结果。

5. MOV AX , DATAS
MOV DS , AX
是将数据放入DS中

6. LEA DX , STRING ;字符串偏移起始DX
LEA :Loadeffective address

下面CSDN的博客也给出了这个例子的详细解释及代码:(转载)
http://blog.csdn.net/caiyunfreedom/article/details/6557847

 

该作者还注释了一个Masm for Windows自带程序两个数求和的实例,个人觉得对大家初步学习汇编知识很有帮助的程序:(转载)http://blog.csdn.net/caiyunfreedom/article/details/6557924

三.该软件的一个bug
在使用该软件“Masm for Windows集成实验环境2012”软件时总是遇到一个“运行时错误‘70’”,并且直接导致程序退出。
如下图新建一个程序,在第一行“STSGSEGMENT STACK ‘S’”处敲击键盘回车就会出现该提示。这个很让我纠结,网上查了一些都是建议使用DosBox和Masm5.0来进行汇编实验的,也不知道大家知不知道什么原因。
最后,这是作者第一次发表博客,希望大家学习,有不好的地方希望大家原谅.希望后面还写写“123+456=sum”这个实例及详细的debug调试,和DosBox编写汇编程序的东西。 

目录
相关文章
|
2月前
|
安全 Linux iOS开发
Binary Ninja 5.1.8104 (macOS, Linux, Windows) - 反编译器、反汇编器、调试器和二进制分析平台
Binary Ninja 5.1.8104 (macOS, Linux, Windows) - 反编译器、反汇编器、调试器和二进制分析平台
338 53
Binary Ninja 5.1.8104 (macOS, Linux, Windows) - 反编译器、反汇编器、调试器和二进制分析平台
|
2月前
|
安全 Ubuntu iOS开发
Nessus Professional 10.10 Auto Installer for Windows - Nessus 自动化安装程序
Nessus Professional 10.10 Auto Installer for Windows - Nessus 自动化安装程序
142 3
Nessus Professional 10.10 Auto Installer for Windows - Nessus 自动化安装程序
|
2月前
|
Linux API iOS开发
Binary Ninja 4.2.6455 (macOS, Linux, Windows) - 反编译器、反汇编器、调试器和二进制分析平台
Binary Ninja 4.2.6455 (macOS, Linux, Windows) - 反编译器、反汇编器、调试器和二进制分析平台
204 14
Binary Ninja 4.2.6455 (macOS, Linux, Windows) - 反编译器、反汇编器、调试器和二进制分析平台
|
5月前
|
IDE Ubuntu Java
在Ubuntu18.04安装兼容JDK 8的Eclipse集成开发环境的指南。
完成以上步骤后,您将在Ubuntu 18.04系统上成功安装并配置了Eclipse IDE,它将与JDK 8兼容,可以开始进行Java开发工作。如果遇到任何问题,请确保每一步骤都正确执行,并检查是否所有路径都与您的具体情况相匹配。
222 11
|
4月前
|
Ubuntu Linux Windows
如何在Ubuntu系统中安装Wine,借此来运行Windows程序
熟悉的登录画面出现,在Ubuntu系统中扫描登录微信程序。
|
4月前
|
Unix Linux 编译器
解决在Windows平台上运行Golang程序时出现的syscall.SIGUSR1未定义错误。
通过这种结构,你的代码既可以在支持 SIGUSR1 信号的系统上正常工作,又可以在不支持这些信号的 Windows 系统上编译通过,确保跨平台的兼容性和功能的完整性。
184 0
|
5月前
|
Windows
Windows下版本控制器(SVN)-验证是否安装成功+配置版本库+启动服务器端程序
Windows下版本控制器(SVN)-验证是否安装成功+配置版本库+启动服务器端程序
147 2
|
6月前
|
Windows
Windows下版本控制器(SVN)-启动服务器端程序
Windows下版本控制器(SVN)-启动服务器端程序
201 4
|
7月前
|
安全 Devops 测试技术
AppSpider 7.5.018 for Windows - Web 应用程序安全测试
AppSpider 7.5.018 for Windows - Web 应用程序安全测试
151 0
AppSpider 7.5.018 for Windows - Web 应用程序安全测试
|
8月前
|
IDE 开发工具
TeaScript IDE集成开发环境
TeaScriptIDE 是一款功能丰富的集成开发环境,包含代码编辑器(语法着色提升可读性)、调试器(显示运行结果)、内置函数帮助文档、打包功能(生成单个可执行文件)以及保存/恢复最近文件的功能。其界面由菜单栏、工具栏、多标签页编辑窗口、控制台输出窗口和状态栏组成,支持快速命令调用、程序运行结果显示及错误信息提示。退出时会自动保存状态,下次启动可继续编辑上次打开的文件。
195 15