如何用MASM5.0 (图解)

第一个转载:

转自:https://wenku.baidu.com/view/796d8f6faf1ffc4ffe47ac5f.html

如何用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

如何用MASM5.0 (图解)_第1张图片

1、装入

格式:masm  asm源文件及路径1   obj文件目标路径2(省去则默认当前路径)

如:E:\masm5.0>masm .\MYDOC\hello.asm .\MYDOC\


如何用MASM5.0 (图解)_第2张图片

结果:程序无错则在E:\masm5.0\MYDOC中增加文件HELLO.OBJ

如何用MASM5.0 (图解)_第3张图片

 

2、连接

格式:link  obj文件路径1

如:E:\masm5.0>LINK .\MYDOC\HELLO.OBJ

如何用MASM5.0 (图解)_第4张图片

(此后当前目录就会出现HELLO.EXE)

 

 如何用MASM5.0 (图解)_第5张图片

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 退出返回操作系统

如何用MASM5.0 (图解)_第6张图片

上图中,

首先,-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就可以了

 

 

第二个转载:

转自:http://blog.sina.com.cn/s/blog_62b339a70100npxh.html

如何使用MASM来编译、连接、调试汇编语言(图文教学篇)

  (2010-11-22 10:34:25)

先声明下,本人绝非大虾,也只是菜鸟一个,写此文的目的只是为了加深我对知识的理解罢了。好,进入正题。
我是把masm解压后发在D盘中的一个叫masm的文件里,在masm文件里新建个记事本(记事本功能是很强大的,只要改下后缀名,写什么语言都noproblem),在记事本里写上你要的汇编程序,然后另存为***.asm的文件。
   接下来,点击“开始”\运行\command.接下来便弹出如下黑色的窗口(上面是版权声明,下面那个说明是C盘
目录)

如何使用MASM来编译、连接、调试汇编语言(图文教学篇)
输入命令"D:"

如何使用MASM来编译、连接、调试汇编语言(图文教学篇)
输入“cd masm”(不要把cd漏掉了哦)
如何使用MASM来编译、连接、调试汇编语言(图文教学篇)


输入刚才保存的那个文件名(注意哦,文件名,不能太长,否则就会出错)如:“masm ba.asm”(这里的masm表示用masm打开该文件,若是你没有写masm,直接就是ba.asm的话,那么会弹出个窗口让你选择哪个文件来打开。ba.asm的后缀可要可不要)
如何使用MASM来编译、连接、调试汇编语言(图文教学篇)
然后便会出现obj,lst,crf,我们直接enter过去就ok了。若编译没错误。便会如下显示
如何使用MASM来编译、连接、调试汇编语言(图文教学篇)
此时,你的那个文件夹下便多了个ba.obj的目标文件。接下来,我们就开始link(连接)文件喽。。。。
同上,在D:\MASM>后面输入link ab,会显示exe,map,lib的东西,你直接enter。最后,文件夹下会出现
ba.exe的文件。如下:
如何使用MASM来编译、连接、调试汇编语言(图文教学篇)

哦,我的那个程序可能有点问题,出现了警告。

调试:我们在D:\MASM>后面输入debug ba.exe就进入调试模式啦。

-u    反汇编

你可能感兴趣的:(汇编】从C语言,编译原理,组成原理)