汇编语言的上机过程(基于MASM 6.15)

   汇编语言的一般上机过程:1.建立ASM文件 2.产生OBJ文件 3.产生EXE文件 4.程序的调试和执行

 

MASM 6.15包含文件:

***************************************************

 MASM.EXE              汇编器

 EDIT.COM               DOS下的文本编辑器

 EDIT.HLP                EDIT帮助文件

 LIB.EXE                 过程库管理程序

 LINK.EXE                连接器

 DOSXNT.EXE

 ml.err                  汇编的错误信息文件

 ml.exe(masm and link)  汇编连接器

***************************************************

 DEBUG.EXE              调试器(一般是系统自带)

***************************************************

对于MASM 6.10以下的版本,汇编器和连接器是分开的,分别是MASM.EXE和LINK.EXE,使用时要先用MASM.EXE生成.OBJ文件,再使用LINK.EXE生成.EXE

文件。ml.exe把MASM.EXE和LINK.EXE整合到一起,可以一步生成.EXE文件。

 

ml命令有许多参数,可以使用ml /?命令查看。下面介绍几个低级实用的参数:

 /AT Enable tiny model (.COM file)

 /c Assemble without linking     只汇编不连接

 /Fe<file> Name executable       指定.EXE文件名

 /Fl[file] Generate listing      生成列表文件(.LST)     

 /Fm[file] Generate map          生成映像文件(.MAP)

 /Fo<file> Name object file      指定.OBJ文件名

 /I<name> Add include path       指定include文件的路径名

 

两种开发环境:

 

1.32位Windows控制台(CMD.EXE)

 

①解压缩MASM6.15.ZIP到D:/

②开始-程序-附件-命令提示符-右键-发送到桌面快捷方式

③修改桌面命令提示符属性:

目标:%SystemRoot%/system32/cmd.exe

起始位置:D:/MASM

④双击命令提示符图标即可进入基于32位Windows控制台下的汇编程序环境。

 

2.16位DOS环境(COMMAND.COM)

 

和32位Windows控制台环境建立不同的是属性修改那一步。装入的是一个16位的DOS命令解释器。

目标:%SystemRoot%/system32/command.exe

两种开发环境的比较:某些16位的汇编程序可能无法在32位的Windows控制台中运行。

             

一个简单实例:

1. 在D:/MASM/下建立包含下列内容的.ASM文本文件(EDIT.EXE)

DATA SEGMENT WORD1A DW 7F7AH WORD1B DW 8548H WORD2A DW 346BH WORD2B DW 2ABCH WORD3A DW ? WORD3B DW ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX CALL STA MOV AH,4CH INT 21 STA PROC CLC MOV CX,02 MOV SI,OFFSET WORD1A MOV DI,OFFSET WORD1B MOV BX,OFFSET WORD3A NEXT: MOV AX,[SI] ADC AX,[DI] MOV [BX],AX INC SI INC SI INC DI INC DI INC BX INC BX LOOP NEXT RET STA ENDP CODE ENDS END START

2. D:/MASM>ML EXP.ASM

Microsoft (R) Macro Assembler Version 6.15.8803

Copyright (C) Microsoft Corp 1981-2000.  All rights reserved.

 

 Assembling: EXP.ASM

 

Microsoft (R) Segmented Executable Linker  Version 5.31.009 Jul 13 1992

Copyright (C) Microsoft Corp 1984-1992.  All rights reserved.

 

Object Modules [.obj]: EXP

Run File [EXP.exe]:

List File [nul.map]:

Libraries [.lib]:

Definitions File [nul.def]:

LINK : warning L4021: no stack segment

 

3.调试程序DEBUG.EXE

 

4.输入EXP.exe便可以执行该程序

你可能感兴趣的:(汇编语言的上机过程(基于MASM 6.15))