汇编语言程序的上机过程
- 格式:ppt
- 大小:187.50 KB
- 文档页数:6


汇编上机汇编语言步骤汇编语言是一种底层的计算机语言,用于将人类可读的指令转换为机器可执行的指令。
它在计算机体系结构和操作系统的开发以及底层编程中起着重要作用。
本文将介绍汇编语言的上机实践步骤,帮助读者更好地理解和应用汇编语言。
I. 准备工作在进行汇编语言编程之前,需要做一些准备工作。
1. 硬件环境准备确保计算机硬件环境能够支持汇编语言编程。
通常,需要一台计算机和合适的开发环境,例如Masm、NASM等。
2. 软件环境准备根据个人喜好和需求,选择合适的开发环境和工具。
例如,可以使用文本编辑器编写源代码,并使用汇编器将其汇编为机器码。
同时,还需要安装调试工具,用于调试和测试编写的程序。
3. 学习资料准备在开始上机实践之前,建议阅读相关的汇编语言教材、文档或参考书籍,了解基本的汇编语言概念和语法规则。
这将有助于更好地理解和应用汇编语言。
II. 编写汇编程序一旦准备工作完成,我们可以开始编写汇编程序了。
以下是编写汇编程序的一般步骤。
1. 分析问题和设计首先,明确问题的需求和目标。
然后,设计程序的逻辑结构,确定需要使用的指令和算法。
2. 编写源代码使用选择的文本编辑器编写源代码。
按照汇编语言的语法规则,逐行编写汇编指令,并添加必要的注释和标签。
3. 汇编程序保存源代码文件,并使用汇编器将源代码转换为机器码。
这一步骤会生成可执行文件,即汇编程序。
4. 运行和调试运行汇编程序,并使用调试工具进行调试。
通过逐步执行代码、监视变量和寄存器的值,可以定位和解决程序中的错误。
III. 优化和扩展完成基本的汇编程序后,可以考虑进行优化和扩展,以提高程序的性能和功能。
1. 代码优化优化汇编程序,使其更高效、更可靠。
可以通过减少指令数量、减少内存访问、使用更有效的算法等方式进行优化。
2. 功能扩展根据需求,添加新的功能或功能模块。
这可能包括输入输出处理、文件操作、图形界面等。
IV. 运行和测试完成优化和扩展后,进行运行和测试。
汇编语言的上机过程汇编语言程序的上机过程包括编辑、汇编、连接和执行这四个步骤。
汇编程序我们提供宏汇编程序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文件:连接映象文件,包括各个段在存储器中的分配情况,初学时不需要。
例 1.1求平均数。
试编写一程序:在数据段中定义一个5字节数据的数组array,把它们看作有符号数求其平均数,结果送avg内存单元。
程序框图见图1.1:图1.1 例1.1的程序框图上机过程如下:1.调用文本编辑程序Edit建立asm文件Edit是Dos系统环境下的编辑工具,当然读者也可以用其它的W32编辑工具如EditPlus、Ultra edit、NotePad等软件在Windows下来建立源文件。
下面假设启动的是Dos操作系统或启动Windows切换到Command命令窗口(为便于讨论下面均以Dos系统说明之),汇编语言上机的工作环境在E:\masm子目录下。
键入以下命令:E:\masm\edit sample.asm使用该命令建立以sample.asm为文件名的源文件如图1.2所示。
然后,保存文件返回到Dos 系统。
;*****************************************************************************data segment ;定义数据段array db 1,2,3,4,5avg db ?data ends;***************************************************************************** code segment ;定义代码段;----------------------------------------------------------------------------- main proc far ;定义主过程assume ds:data,cs:codestart: ;程序的入口地址标号push ds ;以下3条指令为返回Dos系统做准备xor ax,axpush ax;mov ax,data ;装载Ds段寄存器mov ds,ax;lea si,array ;设置数组的指针simov cx,5 ;装载循环计数器cxmov al,0 ;累加器al清零next: ;循环求累加和mov dl,[si]add al,dlinc siloop nextcbw ;将al中的累加和扩展到axmov bl,5idiv bl ;商在al中,余数在ah中mov avg,al;ret ;返回到Dos系统main endp ;主过程结束;--------------------------------------------------------------------------------------------------------------------- code ends ;代码段结束;***************************************************************************** end start ;整个程序结束;图1.2 例1.1的源文件sample.asm2.调用汇编程序Masm对源文件汇编产生目标文件sample.obj键入以下命令:E:\masm\ masm sample屏幕显示如下:Microsoft (R) Macro Assembler Version 5.00Copyright (C) Microsoft Corp 1981-1985, 1987. All rights reserved.Object filename [sample.OBJ]:Source listing [NUL.LST]:Cross-reference [NUL.CRF]:50956 + 450516 Bytes symbol space free0 Warning Errors0 Severe Errors上述三个问题以回车作为默认回答,如汇编指示出错则须重新调用编辑程序修改错误,直至汇编通过为止。
汇编语言上机过程:一、上机前的软件准备: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回车。