汇编语言上机过程

合集下载

汇编语言程序的上机过程

汇编语言程序的上机过程

汇编语言的上机过程汇编语言程序的上机过程包括编辑、汇编、连接和执行这四个步骤。

汇编程序我们提供宏汇编程序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-汇编语言程序上机过程

实验3-汇编语言程序上机过程

实验3 汇编语言程序上机过程3.1 实验目的(1)掌握常用工具软件EDIT,MASM,和LINK的使用。

(2)伪指令:SEGMENT ,ENDS,ASSUME,END, OFFSET,DUP.(3)利用INT 21H的1号功能实现键盘输入的方法。

(4)了解.EXE和.COM文件的区别及用INT 21H 4C号功能返回系统的方法。

3.2 实验类型验证型实验3.3 实验内容data segmentmessage DB 'THIS IS A SAMPLE PROGRAM OF KEY AND DISPLAY'DB 0DH, 0AH, 'PLEASE STRIKE THE KEY!', 0DH, 0AH,'$'data endsstack segment PARA STACK'STACK'DB 50 DUP(?)stack endscode segmentassume CS:COE, DS:DATA, SS:STACKstart:mov ax, datamov ds, axmov dx, OFFSET MESSAGEmov ah, 9INT 21h ; add your code hereAGAIN:MOV AH,1INT 21HCMP AL,61HJE NDCMP AL,61HJC NDCMP AL,74HJA NDAND AL,11011111BND: MOV DL,ALMOV AH,2INT 21HJMP AGAINEXIT:MOV AH,4CHINT 21HCODE ENDSEND START3.5 实验报告(1)汇编,连接及调试时产生的错误,其原因及解决办法。

(2)思考①若在源程序中把INT 21H的‘H’省去,会产生什么现象?答:若在源程序中把INT 21H的‘H’省去,可以生成.EXE,但是在运新生儿湿疹行时提示出错语句:refer to the list of support interruptsIf you need to int 21h, put h suffix to 21②把INT 21H 4CH 号功能改为INT20H,行不行?答:不行。

实验二汇编语言上机过程实验(机制本)

实验二汇编语言上机过程实验(机制本)

实验二汇编语言上机过程实验一、实验目的1、了解和掌握由键盘接收数据,并显示其运行结果的方法。

2、掌握INT 21H 的09H和0AH,01H和02H的功能。

3、熟悉在PC机上建立,汇编,链接,调试和运行8086/8088汇编语言程序的过程。

二、实验内容1、汇编语言源程序的上机过程:①将masm5.zip文件下载放在D:\masm文件夹下, 在该文件夹下将压缩文件解压缩。

②利用编辑器建立一个ASM 源文件。

Edit ,记事本等编辑器文件以文件名.asm文件名保存。

最好保存在D:\masm文件夹下。

(即:D:\masm\文件名.asm)文件名自取。

③点击开始菜单,运行↙>cmd↙>d: ↙>cd masm↙>masm 文件名 3下回车>link 文件名 3下回车>debug 文件名.exe>g ↙其中利用MASM.EXE对源程序进行编译。

生成中间代码文件:文件名.obj。

利用link.exe对obj文件进行连接。

生成最终目标代码文件:文件名.exe。

运行可执行文件:文件名.exe,并利用debug调试工具查看结果。

2、编写一个完整程序,在屏幕上显示字符串How are you!data segmentstring db 'how are you!$'data endscode segmentassume cs:code,ds:datastart:mov ax,datamov ds,axmov dx,offset stringmov ah,9int 21hmov ah,4chint 21hcode endsend start三、实验器材IBM PC 微机一台四、实验报告要求1、实验报告应包括实验目的,实验内容,实验步骤,实验思考题2、完成实验思考题,如有编程题,写出调试正确的程序,并给程序加注释,写出实验中所记录下的内存数据存放格式。

五、实验思考题下面的汇编语言源程序有错误的,试给程序加注释。

汇编语言上机调试步骤

汇编语言上机调试步骤
汇编语言上机调试步骤
(A+B)*(C-D)为例
1.编辑原文件 编辑原文件
A)在cmd下,用edit编写扩展名为.asm的原文 件,知道原程序文件存放的路径。 B)在记事本下编写原程序,扩展名为.asm。
2.生成 生成.obj文件 生成 文件
利用汇编程序masm把原文件生成obj文件。 具体步骤如图:
使用debug 把应用程序调入内存 u反汇编命令
注意观察 AX,DS
r 显示或改变一个或多个 CPU 寄存器的内容。
注意观察 AX,DS 单步调试命令(或跟踪命令)
下一步执行的指令
注意观察DS D(转储)示一定范围内存地址的内容。
观察这些 数据
观察这些 数据
观察AX的低8位
观察A 果
在运行下输入cmd,进入到masm下面: ,进入到 下面: 在运行下输入 下面
原程序路径 及原程序
生成的目标程序及 其位置
原程序是否有语法错误,如果没 有生产obj文件,否则不能生成 obj文件。
Link生成 生成exe文件 生成 文件
link命令输入 obj文件所在位置
exe文件所在位置
调试程序观察值

第八讲(2) 汇编语言简单上机过程

第八讲(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 [起地址] [末地址] 不写地址执行刚刚汇编过的程序。

汇编语言上机过程

汇编语言上机过程

出各个段在内存中的分配情况,主要有各段的名字、起点、终
点和长度等信息。 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 所示。

实验2— 汇编语言上机过程

实验2— 汇编语言上机过程

实验2 汇编语言上机过程一、实验目的掌握汇编语言上机过程,熟练使用EDIT,MASM,LINK,DEBUG命令。

二、实验内容在显示器上显示一段字符串。

三、实验步骤1、进入DOS ,输入D:回车2、输入D:\>CD MASM5输入D:\MASM5>EDIT 123.ASM此时进入EDIT全屏编辑窗口。

输入源程序,并且存盘。

ALT键可以激活菜单,打开FILE下拉菜单中的SA VE或SA VE AS保存编辑好的文件,然后退出。

此时,源程序建立完毕。

3、用MASM产生OBJ文件输入MASM 123.ASM 回车第一个是OBJ文件,回车确定,即建立目标文件。

第二个是LIST列表文件,它同时列出源程序和机器码程序清单,并给出符号表,如需要可输入123.LST,不需要直接回车。

第三个CRF文件用来产生交叉引用表,一般程序不需要建立此文件,直接回车。

注:警告错误和严重错误必须都为0,编译才算通过,如不为0,则记住错误行号,返回EDIT 修改程序,然后再编译。

4、用LINK程序产生EXE文件输入LINK 123.OBJ 回车LINK有两个输入文件OBJ(目标文件)和LIB(库文件),无特殊需要,对LIB直接回车。

LINK的输出文件,一个是EXE文件,另一个是MAP文件,它是连接文件的列表文件,称为连接映象,它给出每个段存储器的分配情况。

如没有严重错误,将产生EXE文件,如有错误重新执行步骤2、3、45、程序执行输入123.EXE 回车查看屏幕显示,是否和预期结果一致。

四、程序清单DA TA SEGMENTBUFF DB 'How are you!','$'DA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DA TASTART: MOV AX,DATAMOV DS,AXMOV AH,9HMOV DX,OFFSET BUFFINT 21HMOV AX,4C00HINT 21HCODE ENDSEND START。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一步:编写程序
用记事本编写汇编语言程序,保存为.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调试程序。

请自行查阅参考书,熟练掌握 r、u、t、d、g、q 等命令。

实验练习:实验指导书 2.1.3 (1)
(1)程序装入后,CS内容:
MOV AX,DATA 对应的机器代码:
(2)执行完“MOV DS, DATA”后,DS的内容:
82H, 68H, 88H装入后的物理地址:
(3)第一条“ADD AL, [BX]”对应的机器代码:
AL、IP的变化:
状态标志的变化:
(5) DS:0003单元中值的变化:
标志取值对照表。

相关文档
最新文档