热门排行
简介
Masm5.0是一款DOS下汇编工具包,包含了MASM、LINK、EDIT、DEBUG、DEBUG32等程序,可谓是汇编者的利器,支持win7 64位操作系统,有需要的不要错过。
软件特色
1、错误信息的自动定位功能。运行程序时,自动定位到发生错误的程序行,便于纠正程序的错误。
2、智能排版功能。运用本软件编写程序,不需要人为添加或删除空格,软件自动地为你排出层次清晰、可读性好的程序来。
3、语法着色功能。当你输入的是保留字,而没有发生颜色变化时,说明该保留字输入错误,便于纠正错误。
4、实时帮助功能。编写程序时,很可能忘记某个指令的用法,你只要在需要获得帮助的指令上按鼠标右键,选择“实时帮助”就可以要获得该指令的帮助。
5、显示程序行号的功能(图1中程序左边的部分为行号)。专为老师讲课添加的功能,便于老师讲某一行程序时,学生与老师很容易找到该行。并具有定位到某一行和行号随鼠标滚动的功能。
6、放大与缩小字号功能。专为老师讲课添加的功能,便于老师讲课时,让学生看清程序。
7、支持中文长文件名。
8、软件可以安装在任意文件夹,编写的程序可以保存在任意文件夹,且文件名不受限制。
9、Word式的查找、替换,定位功能。
10、Word式的无限次撤消、恢复功能。
11、汇编指令动画演示有助于汇编语言初学者理解汇编指令。
12、方便的程序管理。
(1)用户设置好“我的程序文件夹”后,在打开后保存程序时,软件会定位到你设置好的文件夹。
(2)在“我的程序”中列出你最近使用过的30个程序,可以你方便的打开它。
13、操作方便的资源树
14、支持Windows 汇编编程,并提供调试通过的30个WINDOWS汇编程序实例源代码。
15、200多种中英文错误信息同步显示功能扫除了英文差的用户学习汇编语言的恐惧心理。
16、兼容Windows XP模式,可以解决在32位、64位Windows 7系统下运行只能在WinXp下才能正确运行的绘图、音乐等程序。
使用方法
1.首先下载与安装DOSBOX,脚本之家提供的文件包里面都有,它的作用就是让你在64位下使用32、16位的软件。如果不使用DOSBOX就会出现程序不兼容的对话框。
开始安装: 双击打开DOSBox软件,按步骤进行安装,安装目录任选,不过由于C盘是系统盘,所以最好安装在其他盘里;
安装成功后打开DOSBox, 我们就可以看到一个非常熟悉的界面了,和电脑里的命令提示符DOS窗口差不多: (注意:由于它的两个窗口是在一起作用的,所以使用的时候不要关掉其中的任一个窗口)
安装完DOSBox后,我们就能运行汇编后的程序了
打开DOSBox后,我们可以看到Z : \ >,这是DOSBox里的虚拟盘,我们可以采用mount命令将其转变到自己的D盘: mount d d:\masm
这里,我在D盘建立了一个文件夹masm,作为自己做汇编实验的文件存放位置;使用该命令后,d符号也就虚拟成了自己本地电脑的d:\masm目录;这时候在DOSBOX里面输入d:\其实是打开电脑里面的D:\masm
但是每次打开DOSBOX都要输入太麻烦,所以:开始——>所有程序——>DOSBox文件——>
打开DOSBox 0.74 Options,在打开的文本里找到[autoexec](应该会在文本的最后位置),根据你自己做汇编实验的文件夹所在路径进行相应的设置,在;[autoexec]项的末尾写上上面的两条命令:
以我的文件路径为例:
mount d: d:\masm
d:
2、然后将自己在网上下载的DEBUG32.exe和masm5.0中的所有东西(包括masm.exe,link.exe等等)都放在d:\masm 文件夹下。
这时候打开DOSBOX就可以直接输入:DEBUG32 使用DEBUG 了。
直接输入masm 就可以用MASM进行编译了,Link也一样。
3、一些人在使用这种方法使用MASM的时候会出现unable to open input file 这个错误,是汇编时找不到源文件。
以我的为例,我将我的1.ASM文件放在D:\MASM\WYX这个文件夹下。如果编译的时候用
Object Modules [.OBJ]:D:\MASM\WYX\1
就会出现上面的错误提示。
正确的应该是
Object Modules [.OBJ]:D:\wyx\1
这是因为DOSBOX虚拟D:\masm盘为系统盘,在DOSBOX直接输入D:\其实是进入了你电脑的D:\masm
如何用MASM5.0 (图解)
预先在E:\masm5.0\MYDOC目录下写好hello.asm文件:
DATA SEGMENT
BUF DB 'HELLO WORLD! THIS IS MY FIRST ASM FILE! $'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
LEA DX,BUF
MOV AH,09
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END START
首先,进入masm5.0所在路径(装入-连接-运行-调试均在masm5.0所在目录中进行)
(我这里masm5.0所在路径是E:\masm5.0\)
Winkey+R — cmd —e:——cd masm5.0
1、装入
格式:masm asm源文件及路径1 obj文件目标路径2(省去则默认当前路径)
如:E:\masm5.0>masm .\MYDOC\hello.asm .\MYDOC\
结果:程序无错则在E:\masm5.0\MYDOC中增加文件HELLO.OBJ
2、连接
格式:link obj文件路径1
如:E:\masm5.0>LINK .\MYDOC\HELLO.OBJ
(此后当前目录就会出现HELLO.EXE)
3、运行
格式:exe文件全名(即 "HELLO.EXE")
如:E:\masm5.0> HELLO.EXE
4、调试
-u 反汇编
-r 显示寄存器内容
-g [=address1][address2][address3] 执行到断点行,如:-g 12 为执行到第12行
-t [=address][value] 跟踪,配合-g使用 如:-t 12 1 为从第12行开始,每执行1条指令后停下来
-d 查看数据
-q 退出返回操作系统
上图中,
首先,-u 反汇编整个 hello.exe ;
然后-g 9 ,让程序执行到 第9行停下来;再用-t 跟踪,每执行一条指令停下来;
最后,连续-t跟踪了3次后输入-q退出程序。
汇编masm5.0编译器编译汇编文件名时,
有时可能出现 Unable to open input file:bcd2ascii.asm 的错误,可是代码文件确实存在。
这时,可以考虑两个问题,
第一:文件拓展名有没有改过来,因为win7下会自动隐藏拓展名(除非设置过);
第二:是文件的名字系统的差别造成的,windows现在可以支持非常复杂的命名,
在cmd下也可以看到这些命名,但当执行debug,masm等程序时,系统将启动ntvdm,
这是一个nt系统下的vdm,虚拟设备管理,就是一个16位的虚拟机,
此时,ntvdm下的cmd严格执行8.3命名,这时只需要修改文件名,
主文件名8个字符以内,扩展名为asm就可以了
更新日志
1 完善了软件对32位、64位Windows 7/Windows10/系统的支持。
2 简化了注册方法。
3 修正了已知的BUG。