汇编语言程序上机过程
汇编语言程序的上机过程

汇编语言的上机过程汇编语言程序的上机过程包括编辑、汇编、连接和执行这四个步骤。
汇编程序我们提供宏汇编程序MASM5.0和MASM6.14两个版本。
1、建立源程序文件建立和编辑汇编语言源程序可以使用EDIT、记事本、写字本,也可以使用TC等来输入源程序。
保存时,源程序文件的扩展名必须是ASM。
练习:(1)在DOS下用编辑软件EDIT建立如下源程序文件,将文件保存为Hello.ASM,保存在MASM5目录下。
(调用命令“C:\EDIT”进入EDIT编辑器。
)源程序文件如下:DSEG SEGMENTMESSAGE DB 'HOW DO YOU DO?',0DH,0AH,24HDSEG ENDSCSEG SEGMENTASSUME CS:CSEG,DS:DSEGBEGIN:MOV AX,DSEGMOV DS,AXMOV DX,OFFSET MESSAGEMOV AH,9INT 21HMOV AH,4CHINT 21HCSEG ENDSEND BEGIN(2)编程计算1+2+3+ ……+100,和放在AX寄存器中,要求用循环实现。
对于MASM5.0和MASM6.14两个版本,编译和连接的方法有所不同。
以下分别就两个版本的编译和连接的方法进行讲解。
如果使用MASM5.0的话,操作方法如下(以HELLO.ASM源程序文件为例):2、对源程序进行汇编,生成目标文件HELLO.OBJ。
操作:(1)在DOS下进入MASM5.0的目录,如C:\MASM5>(2)敲入命令: MASM HELLO说明:.obj文件:目标代码文件,纯二进制代码文件,不能直接显示在屏幕上。
.lst文件:包含源程序中各语句及其对应的目标代码,各语句的偏移量等相关信息,对调试程序有帮助,但一般情况不需要。
.crf文件:交叉索引文件,给出源程序中定义的符号引用情况,初学时不需建立。
3、连接目标文件,生成执行文件HELLO.EXE,操作:敲入命令LINK HELLO说明:.EXE文件:可执行文件.MAP文件:连接映象文件,包括各个段在存储器中的分配情况,初学时不需要。
汇编语言上机过程

汇编语言上机过程:一、上机前的软件准备:MS-DOS操作系统(如:MSDOS6.22 , MSDOS7.0 等)文本编辑器(如: , TURBO.EXE , TC.EXE , C.EXE 等)汇编程序(如:MASM.EXE , ASM.EXE 等)连接程序(如:LINK.EXE 等)调试程序(如:DEBUG.EXE 等)二、汇编程序建立过程:三、现在对(二)的每一个标有字母的过程(PROCEDURE)进行详细说明PROCEDURE a:建立汇编源程序(即:建立文件名.asm)这个过程就相当于我们在纸上编写源程序代码一样,只不过是将纸变为了计算机,这个过程也称源代码录入。
将源程序代码录入计算机的方法很多,下面将介绍具体方法。
1.通过MD-DOS自带的EDIT.EXE文本编辑器进行输入,在DOS提示符下键入:EDIT回车,这时如果你系统内可调用时,EDIT的操作画面便会出现在屏幕上,你就可在提示下进行录入了,当录入完毕后,选择存盘并给你输入的文件起一个文件名,形式:filename.asm ;(其中filename 为你起的文件名,由1-8个字符组成),asm 是为汇编程序识别而必须加上去的,不可更改。
存盘后在DOS下可用DOS命令DIR来查看,如果看到了所存的文件存在,就可以进行进程b。
2.如果你的系统中没有EDIT,也可用你所熟悉的文本编辑器进行录入、编辑,如可用C语言和pascal语言的文本编辑器来编辑,最后将文件存为filename.asm的形式即可。
PROCEDURE b:编译目标文件(即:编译为.obj .lst .crf文件)这个过程计算机将把你编的正确的源代码编译为机器语言、程序清单及交叉引用表的目标文件。
如果此时你的程序有语句错误,系统将报错,并指出在第几行,什么类型的错误,你可根据提示去逐一修改。
现介绍具体过程:在DOS提示符下键入MASM filename回车(注:你系统内的汇编程序为MASM.EXE,如果你系统的汇编程序为ASM.EXE时,便将命令变为ASM filename回车。
汇编语言上机步骤

(3)用LINK程序产生EXE文件 【例4-29】 C:\masm>link exam.obj↙ Microsoft(R)Overlay Linker Version3.60 Copyright(C)Microsoft Corp 1983-1987. Allrights reserved RunFile [exam.EXE]:↙ ListFile [NUL.MAP]: Libraries [.LIB]:
(5)程序的调试
【例4-30】 先进入DEBUG并装入要调试的程序 exam.exe。 键入如下: C:\masm>debug exam.exe DEBUG以短线“-”作为提示符,用户在提示符 后就可以使用DEBUG命令来调试程序。 DEBUG的主要命令有U、G、e)。
汇编语言上机步骤
薛 花 2009-11-3
汇编语言程序的上机过程与调试
1.汇编语言的工作环境 ① 操作系统DOS。 ② 编辑程序。 ③ 汇编程序:MASM.EXE。 ④ 连接程序:LINK.EXE。 ⑤ 辅助工具:DEBUG。
2.建立和运行汇编语言程序的过程
(1)源程序的输入和修改 (2)汇编
【例4-27】
【例4-28】
源程序的文件名为exam.asm,宏汇编程序的路径为 C:\\masm\masm.exe。 操作与汇编程序的应答如下: C:\masm>masm exam.asm ↙ Microsoft(R)Macro Assembler Version 5.00 Copyright(C)Microsoft Corp 1981-1985,1987. Allrights reserved Object filename [exam.OBJ]:↙ Source listing [NUL.LST]: Cross-reference [NUL.CRF]: 0 Warning Errors 0 Severe Errors
5.5汇编程序上机调试过程

TTT:
MOV INC JMP
[BX+SI],ALFra bibliotekBBB:
MOV MOV MOV MOV MOV MOV MOV INT JMP
PPP: CODE
MOV INT ENDS END
AX,4C00H
EDIT建立汇编语言源程序 5.6.1 用EDIT建立汇编语言源程序 在 DOS 状 态 下 , 调 用 EDIT 编 辑 程 序 建 立 文 件 名 为 的汇编源程序,如图5-8所示。 C:\>EDIT WANG.ASM↙
装入磁盘上指定内容到存储器 装入指定文件 把数据写入磁盘指定的扇区 把数据写入指定的文件
-Q
退出DEBUG
§5.6 汇编语言程序运行实例
本节中通过一个汇编语言源程序的实际例子,来了解汇 编语言源程序的建立、汇编、连接、运行的过程。 给出的程序是将键盘输入的小写字母转换成大写字母的 程序并显示在屏幕上。设定源程序名为WANG.ASM。
键入以下命令: C:\>EDIT ABC.ASM↙ 此时屏幕的显示状态如图5-4所示。
5.5.3将源程序文件汇编成目标程序文件 在对源程序文件进行汇编时,汇编程序将对.ASM文件进 行二遍扫描。如果源程序文件中出现语法错误,则汇编结 束后将指出源程序中的错误,这时可用编辑程序再次修改 源程序中的错误,然后再次汇编,直到最后得到没有错误 的目标程序,即扩展名为.OBJ文件。 一般情况下,汇编程序的主要功能有以下3点: (1) 检查源程序中存在语法错误,并给出错误信息。 (2)源程序经汇编后没有错误,则产生目标程序文 件,扩展名为.OBJ。 若程序中使用了宏指令,则汇编程序将展开宏指令。
1.DEBUG程序的调用 . 程序的调用 在DOS的提示符下,可以直接键入命令,如图5-7所示 C:\>DEBUG ABC.EXE↙
第八讲(2) 汇编语言简单上机过程

本章到此结束
谢谢!
结 束放映
返回本章首页
第一章
微机基础知识概述
一、指出下列指令的寻址方式 MOV AX, 06H MOV BX, [BX+SI]
MOV AX, [2000H]
MOV CX, ALPHA[BP+DI]
JMP
CWD
BX
MOV AL, [DI]
第一章
微机基础知识概述
二、汇编后
DATA SEGMENT
Source filename [.ASM]:文件名
第一章
微机基础知识概述
Object filename[文件名.OBJ]
Source listing[NUL.LST]:文件名
Cross reference[NUL.CRF]:文件名
0 Warning Error 0 Severe Errors
返回本节
实验六、8259应用编程1、2。
第一章
微机基础知识概述
实验五:微机原理及接口实验指导书
1、实验七:8253定时/计数应用实验; 2、实验八:8255并行接口应用实验。
第一章
微机基础知识概述
实验六:综合实验 1、分析所使用的微机实验设备的系统组成, 画出结构图; 2、使用现有微机原理实验设备、设计综合 实验; 3、要求实验中应包含8259、8255、8253接 口芯片。
第一章
微机基础知识概述
四、动态调试程序
提供多种程序的运行方法和检测手段,可观察各
个寄存器、内存单元及标志变化情况。
C:\MASM>DEBUG 文件名.exe
_A 地址 送入程序。 _G [起地址] [末地址] 不写地址执行刚刚汇编过的程序。
实验二-汇编语言程序的上机步骤

实验二汇编语言程序的上机步骤一、实验目的熟练掌握汇编语言程序的上机步骤和程序调试方法。
二、实验内容及步骤1.通过CMD命令进入DOS方式。
2.通过CD命令和MD命令建立和进入用户程序目录。
3.将实验一笑脸程序补充为一个完整的汇编语言程序。
4.熟读第五部分内容:环境简介5.通过编辑——汇编——连接步骤生成.EXE形式的笑脸程序Smile.exe。
6.运行Smile.exe程序,观察运行结果。
7.用“DUBUG Smile.exe”命令将Smile.exe程序装入内存,通过R命令读取Smile.exe程序在内存的地址。
8.用反汇编U命令观察笑脸程序。
9.重复实验一“使用DEBUG调试程序”中的步骤(4)和(5),观察程序运行结果。
10.验证题以下程序段用以显示信息“Press any key when you ready.”。
在用户按下任一键后,另起一行显示信息“Input your password:”。
DSEG SEGMENT use16MESS1 DB ‘Press any key when you ready’,0AH,0DH,‘$’MESS2 DB ‘Input your password:’,’$’DSEG ENDSSSEG SEGMENT STACKDB 80H DUP(0)SSEG ENDSCSEG SEGMENTASSUME DS:DSEG,SS:SSEG,CS:CSEGSTART:MOV AX,DSEGMOV DS,AXMOV DX,OFFSET MESS1MOV AH,09HINT 21H ;显示“press any key when you ready.”MOV AH,08HINT 21H ;等待用户按任一键MOV DX,OFFSET MESS2MOV AH,09HINT 21H ;显示“Input your password:”MOV AH,4CHINT 21HCSEG ENDSEND START三、实验要求认真完成实验每一步骤,详细记录实验过程、现象和结果,及时整理实验报告。
汇编语言上机过程
出各个段在内存中的分配情况,主要有各段的名字、起点、终
点和长度等信息。 A1.MAP文件的内容显示如下: Start Stop Length Name Class DATA COSEG
中的CREF.EXE程序,根据A1.CRF文件建立一个名为A1.REF的 文件。若显示A1.REF文件的内容,则可看到该符号表。下面是
源程序A1.ASM的交叉引用表文件A1.REF的清单:
第五章 基本汇编语言
Microsoft CrossReference (# definition, + modification) Cref-1 ADD2 .............. 16# ﹒ 25 CMPMIN ............. 18 22# COSEG ..............8# 9 30 DATA ..............1# 7 9 MAXV .............. 5# 26+ MINV .............. 6# 27+ NEXT .............. 19 21 23 25# NUM.............. 2# 12 START ..............10# 31 9 Symbols
第五章 基本汇编语言
汇编语言程序的上机过程
目前根据使用的软件, 汇编语言程序的上机有两种方式, 一种 是在 DOS 状态下逐步调用相关的软件对源程序进行编辑、汇编、 连接和运行,完成整个上机过程的。另一种是在集成环境(IDE) 下完成上述上机过程的,此种方式的上机比较方便,用户不必 用命令方式多次调用相关软件逐步完成上机过程,而只需要一 次调用IDE软件,然后利用该软件的各种功能菜单完成上述上机 过程, 整个上机过程只需在一个软件中完成。这是因为该类软 件利用了面向对象的程序设计方法将与汇编语言程序上机所需 的各种实用程序集成到一个软件中了。尽管该类软件使汇编语 言程序的上机方便了许多,但基本的上机步骤仍然与第一种方 式相同。为了使初学者对汇编语言的上机过程有个完整的概念, 我们仍以第一种上机方式进行介绍。汇编语言程序的上机过程 如图 5-1 所示。
汇编语言上机过程重点讲义资料
第一步:编写程序用记事本编写汇编语言程序,保存为.ASM 文件,保存时,保存类型选择“所有文件”。
注意,应将汇编语言程序保存在包含MASM.EXE 及LINK.EXE 的目录下(本例中假定在C盘的MASM目录下,即“C:\MASM”)。
第二步:编译进入DOS命令提示符环境。
该环境的访问方法一:windows “开始”->“运行”,输入“cmd”),如下图:访问方法二:windows “开始”->“程序”->“附件”->“命令提示符”,如下图所示:进入DOS命令提示符方式:用CD 命令进入MASM目录,如下图所示:(若个人的MASM目录在D盘下,可如下操作:)回车后即进入存放有MASM.EXE LINK.EXE EX11.ASM 的目录D:\MASM :现在开始用汇编程序MASM.EXE 编译汇编语言源程序EX11.ASM:回车后开始编译:若编译出现0处错误(如上图椭圆框内),则表示编译通过,正确生成EX11.OBJ文件:接下来转入第四步。
否则,若出现如下类似界面:表示出现一处错误,该错误在EX11.ASM的第七行,错误为“出现未定义的符号AS”,则转入第三步。
第三步:编辑程序用 EDIT.EXE 编辑出现错误的程序 EX11.ASM:回车后,出现如下界面:找到第7行,并修改相应错误。
修改完成后,点击菜单“File”或用“ALT”回车打开“File”菜单,首先选择“Save”保存修改,然后选择“Exit”退出编辑状态:重复如下编译过程,重新编译修改过的EX11.ASM,直至全部错误修改完成:进入第四步。
第四步:链接用 LINK.EXE链接程序(注意链接的是.OBJ文件),生成可执行文件:链接成功后,生成exe文件:第五步:运行程序直接在DOS提示符下输入刚刚生成的exe文件。
(因本例程序无屏幕输出,故看不到运行结果。
若程序中设计有屏幕输入输出部分,则可直接看到屏幕的输入输出过程)第六步:调试程序用DEBUG.EXE调试程序。
汇编语言程序的上机过程
汇编语言程序的上机过程
1.建立源程序
用记事本写写代码,把扩展名改为.asm,存入masm文件夹中,保存类型改为“所有文件”,否则系统默认为.txt文件保存。
2.用MASM程序编译源文件,产生目标文件。
1)先进入C:\MASM>中
2)输入“masm MM”即masm 文件名(扩展名可以省略)
3)画蓝线的部分表示有0个警告和0个致命的错误,表示编译通过了。
3
目标文件查看:
3.用Link程序连接目标文件,产生可执行程序
输入“LINK 文件名.obj(扩展名可以省)”eg: LINK MM.OBJ
通过连接产生MM.exe文件,在命令符窗口输入dir命令查看。
4.直接输入文件名查看输出内容。
5.用debug程序调试与运行可执行文件
输入debug命令,屏幕显示:
-
“-”号表示debug系统提示符,
1)用u命令反汇编该文件,屏幕显示如下:
2)用d命令了解数据存储
格式为:
d 数据段地址:0
3)用g命令执行该程序
格式为
g=程序的首地址:0
表示程序正常终止,文件中的文件显示出来。
3)用r显示寄存器内容命令
这里的cs和IP显示了当前指向的指令及其代码,即即将执行的下一条语句。
汇编语言上机
code SEGMENT ASSUME CS:code start: MOV CH, 4 ;字符个数 MOV CL, 4 ;循环移位次数 next: ROL BX, CL ;取显示位的值 MOV DL, BL ;保存在DL中 AND DL, 0FH ;清除高4位 ADD DL, 30H ;转变为数字的ASCII CMP DL, 39H ;大于39H, 则应转变 JLE print ;为字母A~F的ASCII ADD DL, 07H print: MOV AH, 2H ;显示DL中的字符 INT 21H DEC CH ;显示结束? JNZ next MOV AH, 4CH ;返回DOS INT 21H code ENDS END start
BX,OFFSET ARRAY DI,OFFSET MAX AX,[BX] BX BX CX,7 AX,[BX] L2 AX,[BX] BX BX L1 [DI],AX
思考
• 如何将最大值在屏幕上以16进制显示出来?
例2 将寄存器BX中的内容以十六进制形式显示出来。 (二进制 十六进制)
▲有关字符、数码转换的处理
用十六进制显示 BX内容子程
MOV DL, 20H MOV AH, 02H INT 21H RET POPF listbx ENDP AX POP code POP DX ENDS END BX POP start POP CX RET listbx ENDP code BP ;显示SI ;显示DI
listbx PROC PUSH CX ;保存寄存器 PUSH BX PUSH DX PUSH AX listbx PROC PUSHF MOV CH, 4 MOV CL, 4 next: ROL BX, CL MOV DL, BL AND DL, 0FH ADD DL, 30H CMP DL, 39H JLE print ADD DL,07H print: MOV AH,2H INT 21H DEC CH JNZ next
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
汇编语言程序上机过程
实验目的:
1、掌握常用工具软件 PE,MASM和LINK的使用。
2、伪指令: SEGMENT,ENDS,ASSUME,END,OFFSET,DUP。
3、利用的 1号功能实现键盘输入的方法。
4、了解.EXE文件和.COM文件的区别及用INT 21H 4C号功能返回系统的方法。
程序:
datasegment
messagedb'This is a sample program of keyboard and
disply'
db0dh,0ah,'Please strike the key!',0dh,0ah,'$'
dataends
stacksegmentpara stack 'stack'
db50 dup(?)
stackends
codesegment
assumecs:code,ds:data,ss:stack
start:movax,data
movds,ax
movdx,offset message
movah,9
int21h
again:movah,1
int21h
cmpal,1bh
jeexit
cmpal,61h
jcnd
cmpal,7ah
jand
andal,11011111b
nd:movdl,al
movah,2
int21h
jmpagain
exit:movah,4ch
int21h
codeends
endstart
实验步骤:
1、用用文字编辑工具(记事本或EDIT)将源程序输入,其扩展名为.ASM。
2、用MASM对源文件进行汇编,产生.OBJ文件和.LST文件。
若汇编时提示有错,用文字编辑工具修改源程序后重新汇编,直至通过。
3、用TYPE命令显示1产生的.LST文件。
4、用LINK将.OBJ文件连接成可执行的.EXE文件。
5、在DOS状态下运行LINK产生的。
EXE文件。
即在屏幕上显示标题并提示你按键。
每按一键在屏幕上显示二个相同的字符,但小写字母被改成大写。
按ESC键可返回DOS。
若未出现预期结果,用DEBUG检查程序。
实验报告:
1、汇编,连接及调试时产生的错误,其原因及解决办法。
2、思考:
1)若在源程序中把INT 21H的'H'省去,会产生什么现象? 2)把 INT 21H 4CH号功能改为 INT 20H,行不行?。