文档视界 最新最全的文档下载
当前位置:文档视界 › 汇编语言上机环境及基本操作

汇编语言上机环境及基本操作

实验1:讲解

汇编语言上机环境及基本操作

1.1 汇编语言程序的上机环境

(1)DOS操作系统:在MS-DOS状态下,才能进行汇编语言操作。

(2)编辑程序:用来输入、建立和修改源程序的一种通用系统软件,如https://www.docsj.com/doc/1919337351.html,

(3)汇编程序:宏汇编MASM.EXE。

(4)连接程序:LINK.EXE。

(5)调试程序:https://www.docsj.com/doc/1919337351.html,。

1.2 汇编语言程序的上机步骤

(1)用编辑程序https://www.docsj.com/doc/1919337351.html,建立扩展名为.ASM的汇编语言源程序文件。

(2)用汇编程序MASM.EXE将源程序文件汇编成用机器码表示的目标程序文件,扩展名为.OBJ。

(3)如在汇编过程中出现错误,根据信息提示(如错误位置、错误类型、错误说明等),用编辑软件重新调入源程序进行修改。

无错时用连接程序LINK.EXE把目标文件转化成可执行文件,扩展名为.EXE。

(4)DOS命令状态下直接键入可执行文件名就可执行该文件。

1.3 应用举例

1. 用编辑程序EDIT建立源程序

(1)进入DOS命令状态,发出C:\>EDIT命令,可进入EDIT编辑屏幕,输入源程序。

在EDIT状态下用键可激活命令选项,如图1所示,用光标上下、左右移动可选择相应命令功能,也可选择反白的命令关键字进行操作。

键可退出命令选项。

图1 EDIT屏幕编辑软件工作窗口

(2)程序输入完毕退出EDIT前一定要将源程序文件存盘,以便进行汇编及连接。

【例1】从键盘输入10个字符,以与键入相反的顺序将10个字符输出到屏幕上,源程序名为STR.ASM。

DOS状态下,调用EDIT建立文件名为STR.ASM的汇编源程序,如图2所示。

图2 用EDIT建立汇编语言源程序

2.用MASM将源程序文件汇编成目标程序文件

DOS状态下,采用MASM对源程序文件进行汇编,如图3所示。

图3 用MASM汇编生成目标文件

MASM主要功能:

(1)检查源程序中的语法,有错时给出错误信息;源程序经汇编后无错误后产生目标程序文件,扩展名为.OBJ;

(2)调入MASM时,先显示软件版本号,然后出现三个提示行:

第1个提示行:

询问目标文件名,方括号内为默认,可按回车,也可输入指定文件名。

第2个提示行:

询问是否建立列表文件,若不建立可回车;若建立则输入文件名再回车。列表文件中同时列出源程序和机器语言程序清单及符号表。

第3个提示行:

询问是否要建立交叉索引文件,若不建立可回车;如要建立则输入文件名,建立扩展名为.CRF的文件,为此必须调用CREF.EXE程序。

(3)汇编错误分警告错误和严重错误

警告错误(Warning Errors)是指汇编程序认为的一般性错误;

严重错误(Severe Errors)是指汇编程序认为无法进行正确汇编的错误。

MASM会给出错误的位置、个数、类别、原因等信息,用户可对程序加以修改再重新汇编,一直到汇编无误为止。

3.用连接程序LINK生成可执行文件

汇编后产生的目标文件.OBJ须经连接后才能成为可执行文件.EXE,如图4所示。

图4 LINK连接程序工作窗口

(1)调入连接程序后首先显示版本号,然后出现三个提示行。

第1个提示行:

询问要产生的文件名,直接回车,采用方括号内默认文件名。

第2个提示行:

询问是否要建立连接映像文件.MAP,不建立直接回车;如要建立则输入文件名。.MAP文件可给出每个段在存储器中的分配情况。

第3个提示行:

询问是否用到库文件.LIB,若无特殊需要直接键入回车即可。

(2)回答上述提示以后,连接程序开始连接。连接过程中如出现错误则显示错误信息,根据提示的错误原因,要重新调入编辑程序加以修改,再重新汇编,经过连接直到没有错误为止。

4.程序运行

可直接在DOS状态下执行带.EXE的可执行文件程序。

本例输入命令:C:\>STR

然后从键盘输入“0123456789”10个数字,按回车键后计算机将10个数字倒序排列输出,即“9876543210”。

再次输入命令:C:\>STR

从键盘输入“abcdefghij”10个字符,按回车键后计算机将10个字符倒序排列输出,即“jihgfedcba”。

运行过程及其结果如图5所示。

图5 程序的运行状态及结果

实验2 调试程序DEBUG的应用

2.1 DEBUG简介

DEBUG是汇编语言的一个工具软件,用于:

(1)建立汇编语言源程序并对其进行汇编;

(2)用于程序的控制执行;

(3)跟踪程序的运行踪迹;

(4)检查和修改程序中每条指令的执行结果;

(5)检查和修改各寄存器和存储器的内容;

(6)用于对接口操作和对磁盘进行读写操作等。

程序文件名为https://www.docsj.com/doc/1919337351.html,。

进入DEBUG后,出现提示符“_”,可通过DEBUG命令输入汇编源程序,并用相应命令将其汇编成机器语言程序,然后调试并运行该程序。

2.2 DEBUG常用命令

DEBUG的每条命令以单个字母的命令符开头,然后是命令的操作参数,各参数之间用空格或逗号隔开,命令符与参数之间用空格隔开,命令的结束符是回车键。

用Crtl+Break键可中止命令的执行;

用Crtl+NumLock键可暂停屏幕卷动,按任意键继续。

DEBUG的主要命令及功能参见表1所示。

表1 DEBUG的主要命令及功能

2.3 DEBUG的综合应用实验

1. 实验目的

(1)学习DEBUG常用命令的使用;

(2)熟悉8086的内部寄存器和内存单元状况;

(3)了解程序运行过程及最终结果。

2. 实验内容及要求

分别用DEBUG各种命令实现对存储单元、寄存器等内容进行修改及简单程序跟踪运行,分析每条指令功能和执行结果。

3. 利用DEBUG进行程序调试的过程

步骤如下:

(1)装入被调试文件

(2)查看程序运行前各寄存器的初始值

用R命令查看段寄存器初始值,了解各逻辑段的段地址和标志寄存器中各标志位状态。

(3)查看用户程序的原始数据

用D命令查看数据段中内存单元的原始数据。

(4)查看程序各功能段的执行过程

用断点运行方式逐段执行各程序段,了解程序段的功能、执行后结果存放位置、寄存器和内存单元的内容变化情况等。

(5)查看出错程序段的执行过程

用单步运行方式(T命令)逐条查看出错程序段每条指令的执行过程,确定出错的位置和原因。

(6)程序调试

测试程序执行结果,确认程序的正确性,防止设计性的错误。

用E命令修改程序数据区的数据;用G命令运行程序;

用R命令和D命令显示各组数据的运行结果。

(7)修改程序和数据

反复查看程序运行情况,如发现个别地方有错可在DEBUG环境下利用A命令进行修改;若错误较多需要作较大的修改时,应返回编辑程序进行修改,然后再汇编、连接生成可执行文件。

(8)连续运行并保存程序

用连续运行方式查看程序执行结果是否正确,当确认程序正确后,可用N命令和W命令将正确程序存盘,退出DEBUG即完成程序的调试。

4. DEBUG命令的综合应用

【例2】在DEBUG中用A命令将给定源程序写入内存并汇编,用G命令执行程序,用D命令观察运算结果,用U命令反汇编,再用Q 命令退出DEBUG。

具体操作:

(1)进入DEBUG,用A命令写入并汇编一个程序,该程序将两个数0102H和0304H分别存放在0120H和0122H单元中,求和运算后结果存放在0124H单元。

输入过程如图6所示,DEBUG中所用的操作数均为十六进制数,数据标识可不必写H。输入完后用Ctrl+C或Ctrl+Break组合键可退出A命令。

图6 用A命令汇编给定程序

(2)执行程序,键入命令_G,结果如图7所示。

图7 用G命令执行程序

(3)用D命令显示运算结果,如图8所示。

图8 用D命令显示运算结果(4)用U命令反汇编程序,如图9所示。

图9 用U命令反汇编程序

(5)用Q命令退出DEBUG返回DOS,如图10所示。

图10 用Q命令退出DEBUG返回DOS

【例3】进入DEBUG,显示当前数据段0200H开始的一片存储区域内容,用E命令将一段机器代码指令写入0200H~0208H单元,用G命令执行,用U命令实现反汇编。

具体操作如下:

(1)进入DEBUG,显示0200H处开始的一片内存单元内容,如图11所示。(如果不指明显示范围,则默认显示128个存储单元)

图11 进入DEBUG显示0200H开始的内存单元

(2)用E命令将指定机器代码指令写入0200H开始的内存单元,并用D命令显示0200H~0208H单元写入的内容,如图12所示。

图12 用E命令写入机器代码并用D命令显示(3)用G命令从0200H处开始执行程序,如图13所示。执行结果是在屏幕上显示字符“3”。

图13 用G命令执行程序

(4)用U命令反汇编,显示0200H处存放的汇编程序,如图14所示。

图14 用U命令反汇编

5. DEBUG命令中的状态标志寄存器

显示状态标志寄存器的标志位意义,详见表2。

表2 状态标志显示形式

DOS常用命令

1.从Windows进入DOS

(1)[开始]→[运行]→输入命令:command ;转至当前C盘目录

(2)[开始]→[程序]→[附件]→命令提示符 ;转至当前C盘目录2.当前工作盘符确定

C: ;工作盘为C盘

D: ;工作盘为D盘

E: ;工作盘为E盘

3.路经转换

CD.. ;转至根目录

CD MASM ;转至MASM目录

4.显示当前文件清单

DIR ;顺序显示文件信息

DIR/W ;横向显示文件名称

5.文件换名

REN 旧文件名新文件名 ;以新文件名代替旧名6.删除文件

DEL 文件名 ;删除指定文件

DEL 文件名.* ;删除同文件名的所有文件

DEL *.扩展名 ;删除同扩展名的所有文件

7.显示文件内容

TYPE 文件名;显示指定源程序文件的内容8.拷贝文件

COPY 文件名盘符:(路经)

9.退出DOS

EXIT ;从DOS命令状态下返回Windows

本次实验要求

1.从Windows进入DOS,转到[MASM],查看当前目录内容。

2.用EDIT建立汇编语言源程序文件,熟悉EDIT 编辑软件的操作。

3.练习用MASM、LINK对汇编源程序进行汇编和连接。

4.熟悉调试程序DEBUG的命令和应用,注意查看寄存器、存储器、标志位、数据段、代码段等内部内容,跟踪指令的运行过程。

5.可参考书中相关程序和本次实验中例子6.积累操作技能,为下次程序设计实验做好准备

汇编语言上机操作及程序调试的方法

汇编语言上机操作及程序调试的方法第一节在IBM-PC机上运行汇编源程序所必备的软件 为了在IBM-PC机上运行汇编源程序,机器上必须有DOS操作系统环境,DOS系统盘上应有下列文件: EDIT 文件编辑程序 MASM 宏汇编程序 CREF 交叉引用文件处理程序 LINK 链接程序 LIB 库管理程序 DEBUG 调试程序 第二节在IBM-PC机上运行汇编源程序的步骤 当用户编制好汇编语言源程序之后,要在机器上运行,必须经过以下几个步骤: 1.用EDIT命令建立与修改汇编源程序文件(ASM文件) 源程序就是用汇编语言的语句编写的程序,它不能被机器识别。源程序必须以ASM为附加文件名。至于EDIT的使用方法可以查阅手册。 2.用MASM命令汇编源文件以产生相应的目标文件(OBJ文件)源程序建立以后,必须经过汇编,转换成用二进制代码表示的目标文件,机器才可运行。汇编是通过调用PC—DOS下的宏汇编程序MASM实现的。汇编过程中,汇编程序对源文件进行二次扫描,如果源程序中有语法错误,则汇编过程结束后,汇编程序会指出源程序中的错误,这时,用户可以再用编辑程序来修改源程序中的错误,最后,得到没有语法错误的OBJ文件。 3.用LINK命令连接目标文件以产生可执行文件(EXE文件)由于汇编之后所得到的目标代码的存放地址并不是可执行的绝对地址,而是浮动的相对地址,因而,必须经过连接,把程序的各个模块连接在一起,或把要调用的子程序与主程序连接在一起,把相对地址变成绝对地址,形成可执行的文件。连接是由调用PC—DOS下的LINK程序来实现的。 4.调试、运行可执行文件。 经过以上过程,在盘上有了可执行文件,则可在DOS提示符下,直接打入文件名(不用扩展名),就可以把执行文件从盘上装入内存,且立即执行此程序。

汇编语言上机过程

汇编语言程序的上机过程 一、上机环境 要运行调试汇编语言程序,至少需要以下程序文件: ?编辑程序:https://www.docsj.com/doc/1919337351.html,或其他文本编辑工具软件,用于编辑源程序。 ?汇编程序:MASM.EXE,用于汇编源程序,得到目标程序。 ?连接程序:LINK.EXE,用于连接目标程序,得到可执行程序。 ?调试程序:DEBUG.EXE,用于调试可执行程序。 二、上机过程 汇编语言程序上机操作包括:编辑、汇编、连接和调试几个阶段。 1.编辑源程序 用文本编辑软件创建、编辑汇编源程序。常用编辑工具有:https://www.docsj.com/doc/1919337351.html,、记事本、Word等。 无论采用何种编辑工具,生成的文件必须是纯文本文件,所有字符为半角,且文件扩展名为.asm(文件名不分大小写,由1~8个字符组成)。 2.汇编 用汇编工具对上述源程序文件(.asm)进行汇编,产生目标文件(.obj)等文件。 汇编程序的主要功能是:检查源程序的语法,给出错误信息;产生目标程序文件; 展开宏指令。 汇编过程如下: 在DOS状态下,输入命令:MASM MYFILE.ASM(回车),即启动了汇编程序。 此命令执行后,会出现下面的3行信息,依次按回车键(即选择默认值)即可建立3个输出文件,其扩展名分别为:.OBJ(目标文件),.LST(列表文件)和.CRF(交叉引用文件)。 Object Filename [MYFILE.OBJ]: Source Listing [Nul.LST]: Cross Reference [Nul.CRF]: 依次按回车键,进行选择后,汇编程序就对汇编源程序进行汇编。如果汇编过程中发现有语法错误,则屏幕上会显示出错语言的位置和出错的类型。此时,需要进行修改,然后再进行汇编。 如此进行,直至汇编无错误,得到目标文件为止。 3.连接 汇编产生的目标文件(.obj)并不是可执行的程序,还要用连接程序把它转换为可执行的EXE文件。连接过程如下: ?在DOS状态下,输入命令:LINK MYFILE.OBJ(回车),即可完成连接。 ?与汇编过程类似,如果连接过程中出错,那么程序会在屏幕上显示提示信息。 此时,需要对源程序进行查错、修改,然后再进行汇编、连接,直至连接无 错误,得到可执行文件为止。 4.程序运行 在DOS提示符下输入可执行程序的文件名即可运行程序。若程序能够运行但不能得到预期结果,则就需要检查源程序,改错后再汇编、连接、运行。 5.程序调试 在程序运行阶段,有时不容易发现问题,尤其是碰到复杂的程序更是如此,这时就

汇编实验1和2

实验一 DOS环境下的汇编语言编程环境使用(基础与验证型) 一、实验要求和目的 1、掌握汇编语言程序设计的基本方法和技能; 2、熟练掌握使用全屏幕编辑程序EDIT编辑汇编语言源程序; 3、熟练掌握宏汇编程序MASM的使用; 4、熟练掌握连接程序LINK的使用。 二、软硬件环境 1、硬件环境:微机CPU 486以上,500MB以上硬盘,32M以上内存; 2、软件环境:装有MASM 6.15、DEBUG、LINK、EDIT等应用程序。 三、实验涉及的主要知识单元 1、汇编语言源程序的汇编过程 汇编语言源程序的汇编过程是是利用汇编程序(MASM)对已编辑好的源程序文件(.ASM)进行汇编,将源程序文件中以ASCII码表示的助记符指令逐条翻译成机器码指令,并完成源程序中的伪指令所指出的各种操作,最后可以建立3个文件:扩展名为 .OBJ的目标文件、扩展名为 .LST 的列表文件和扩展名为 .CRF 的交叉索引文件。目标文件是必须建立的,它包含了程序中所有的机器码指令和伪指令指出的各种有关信息,但该文件中的操作数地址还不是内存的绝对地址,只是一个可浮动的相对地址。列表文件(.LST)中包含了源程序的全部信息(包括注释)和汇编后的目标程序,列表文件可以打印输出,可供调试检查用。交叉索引文件(.CRF)是用来了解源程序中各符号的定义和引用情况的。.LST和.CRF两个文件不是必须建立的,可有有无,可以通过汇编时的命令加以选择。 在对源程序文件(ASM文件)汇编时,汇编程序将对ASM文件进行两遍扫描,若程序文件中有语法错误,则结束汇编,汇编程序将指出源程序中存在的错误,这时应返回编辑环境修改源程序中的错误,再经过汇编,直到最后得到无错误的目标程序,即OBJ文件。因此,汇编程序的主要功能可以概括为以下三点:(1) 检查源程序中的语法错误,并给出错误信息;(2) 产生目标程序文件(OBJ文件),并可给出列表文件(.LST文件);(3) 展开宏指令。 汇编程序是系统提供的用于汇编的系统软件,目前常用的汇编程序有Microsoft公司推出的宏汇编程MASM(MACRO ASSEMBLER)和BORLAND公司推出的TASM(TURBO ASSEMBLER)两种。Microsoft公司推出有宏汇编程序MASM和小汇编程序ASM两种,二者的区别在于:MASM 有宏处理功能,而ASM没有宏处理功能,因此,MASM比ASM的功能强大,但MASM 需要占据较大的内存空间,当内存空间较小时(如64 KB),只能使用ASM。 2、目标程序的连接过程

汇编语言程序的上机过程

汇编语言的上机过程 汇编语言程序的上机过程包括编辑、汇编、连接和执行这四个步骤。汇编程序我们提供宏汇编程序MASM5.0和MASM6.14两个版本。 1、建立源程序文件 建立和编辑汇编语言源程序可以使用EDIT、记事本、写字本,也可以使用TC等来输入源程序。保存时,源程序文件的扩展名必须是ASM。 练习: (1)在DOS下用编辑软件EDIT建立如下源程序文件,将文件保存为Hello.ASM,保存在MASM5目录下。(调用命令“C:\EDIT”进入EDIT 编辑器。) 源程序文件如下: DSEG SEGMENT MESSAGE DB 'HOW DO YOU DO?',0DH,0AH,24H DSEG ENDS CSEG SEGMENT ASSUME CS:CSEG,DS:DSEG BEGIN: MOV AX,DSEG MOV DS,AX MOV DX,OFFSET MESSAGE MOV AH,9 INT 21H

MOV AH,4CH INT 21H CSEG ENDS END 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文件:连接映象文件,包括各个段在存储器中的分配情况,初学时不需要。

汇编语言实验报告4

程及屏幕字符显示程序 一、实验目的 1、熟练掌握汇编语言的程序格式,程序设计方法;学会使用masm6.11对源程序进行编译、链接、 调试和运行 2、利用DOS功能调用INT21H的2号和9号功能进行屏幕显示的方法。 3、利用^Break退出程序的方法及局限性。 4、汇编程序的编写 二、实验任务 1学习汇编语言程序的上机过程 2. 利用INT 21的09H号功能调用显示字符串。验证以下程序 1)用A命令在100H处键入下列程序: MOV AH, 9 MOV DX,110 INT 21 INT 20 2)用A命令在110H处键入下列字符串的ASCII码: DB 'This is a sample!$' 3)用N命令和W命令将此程序(包括数据区)存入文件名为https://www.docsj.com/doc/1919337351.html,的磁盘文件中。(存入前BX:CX必须置为文件长度值)。

4)用Q命令退出DEBUG。 5)在DOS命令下打AA,运行此程序,即在屏幕上显示'This is a sample!'字符串,若不出现,用DEBUG 检查程序有无错误。

(给出结果截图) 3、利用INT 21H 2号功能显示字符: 1)用A命令在100H处键入下列程序: XOR DL,DL MOV CX,100 LOP: MOV AH,2 INT 21 INC DL PUSH CX MOV CX,8 DELY: PUSH CX MOV CX,256 J: LOOP J POP CX LOOP DELY POP CX LOOP LOP INT 20

2)用G命令运行程序,即在屏幕上依次缓慢的显示256个ASCII字符。仔细观察每个字符,和IBM-PC ASCII码表对照,看07H-0DH处控制字符显示结果与表上有何不同? 3)按CTRL+BREAK退出此程序,若一次不行可多做几次。 4 编写一个简化的段定义结构程序: 先提示输入数字“Input number:0-9”,然后在下一行显示输入的数字,结束;如果不是键入 了0-9 数字,就提示错误“ERROR!”,继续等待输入数字。 (给出程序清单及调试结果。) .model small .stack .data

汇编语言上机环境及基本操作

汇编语言上机环境及基本操作汇编语言是一种低级语言,它直接面向硬件,可以直接访问计算机的底层资源。为了学习和实践汇编语言,我们需要了解如何搭建汇编语言上机环境以及其基本操作。本文将介绍汇编语言上机环境的安装和基本操作的步骤,并给出一些示例。 1. 汇编语言上机环境的安装 在搭建汇编语言的上机环境之前,我们首先需要确认计算机的操作系统。通常,我们可以在Windows操作系统上进行汇编语言的开发和调试。下面是汇编语言上机环境的安装步骤: 1.1 下载汇编语言开发工具 汇编语言开发工具有很多种,比如MASM、NASM等。根据个人的喜好和需求选择合适的工具进行下载。 1.2 安装汇编语言开发工具 双击下载文件并按照提示完成安装过程。一般来说,安装过程中可使用默认配置,无需特殊设置。 1.3 配置环境变量 配置环境变量可以使得我们在任意路径下都可以运行汇编语言代码。找到系统环境变量中的"Path"变量,添加汇编语言开发工具的安装路径。例如,如果您选择了MASM,将其安装路径添加到"Path"变量中即可。

安装好汇编语言开发工具后,我们就可以开始进行汇编语言的实践了。 2. 汇编语言的基本操作 接下来我们将介绍汇编语言的一些基本操作,包括编写代码、汇编、链接和运行等。 2.1 编写汇编语言代码 打开一个文本编辑器(如记事本),编写汇编语言的代码。汇编语言与高级语言相比,语法更为底层,需要对计算机的底层结构有一定的了解。可以参考相关教材或者网络资源,编写简单的汇编语言代码。 2.2 汇编 将编写好的汇编语言代码保存为.asm文件。然后,打开命令提示符(或者使用汇编语言开发工具自带的命令行工具),进入.asm文件所在目录,并执行如下命令进行汇编: > asm 文件名.asm 汇编成功后,将生成相应的.obj文件。 2.3 链接 汇编语言代码中可能会引用一些外部的库文件,我们需要将这些库文件与生成的.obj文件进行链接。使用如下命令进行链接: > link 文件名.obj 文件名.lib

实验一-8086汇编语言上机调试及基本操作.

实验一:8086汇编语言上机调试及基本操作 (验证性) 1、实验目的: (1)掌握常用DEBUG命令: G,D,R,T,U,Q。 (2)掌握工具软件EMU8086。 (3)掌握完整程序设计方法的格式,能正确书写数据段,代码段等。 (4)掌握简单的数值转换算法 2、实验说明: 计算机中的数值有各种表达方式,这是计算机的基础。掌握各种数制之间的转换是一种基本功。 3、程序框图:对于0-999(即000H-3E7H)范围内的二进制数 4、参考程序: ; 将AX中的三位数拆为三个BCD码, 并存入Result 开始的三个单元 DATA SEGMENT; 数据段 RESULT_1 DB 1 RESULT_2 DB 1 RESULT_3 DB 1 DATA ENDS STACK SEGMENT STACK ; 堆栈段 STA DB 64 DUP(0) STACK_TOP DB 0 STACK ENDS CODE SEGMENT; 代码段

ASSUME CS:CODE , DS:DATA , ES:DATA , SS:STACK START: MOV AX, DATA MOV DS, AX ; 设置数据段 MOV AX, STACK MOV SS, AX ; 设置堆栈段 LEA SP, STACK_TOP ; 设置栈顶指针 MOV AX, 2afH MOV CL, 100 DIV CL MOV RESULT_1, AL ; 除以100, 得百位数 MOV AL, AH MOV AH, 0 MOV CL, 10 DIV CL MOV RESULT_2, AL ; 余数除以10, 得十位数 MOV RESULT_3, AH ; 余数为个位数 MOV AX,4C00H ; 返回DOS INT 21H ; CODE ENDS END START ; 最后一行要按回车键 5、实验及报告要求: 1)用合适的编辑软件编辑以上源文件并存入合适目录;要求补充注释未注释的 伪指令和指令; 2)分别在DOS和Windows下编译、连接生成可执行文件,比较两个环 境下生成的机器码的长度和内容;试指出第2、5、7、10、14条指令的IP和机器码。 3)分别在debug和emu8086下调试该可执行文件,给出程序运行时的各段 地址(CS=?,DS=?SS=?ES=?)举例说明debug的t,d,g,u等命令操作方法并对寄存器的变化作出解释;试改变被转换的三位数,并解释转换过程中标志寄存器中各标志位的结果;如何观察转换结果的变化?4)写出完整的实验报告,特别是“实验结果”与“实验总结体会”部分,是评分的 主要依据。 5)实验总结中要求结合实验中的经验、教训或体会对汇编语言格式、调试方法 和微机原理学习方法作出总结。 6、思考题: 1)用单步执行命令t运行程序,运行到mov ax, 4c00h,int 21h指令后,cs和 IP寄存器内容前后有何变化?产生变化的原因是什么? 2)试写出将BCD转换成二进制码的汇编程序。

汇编语言程序设计的实验环境及上机步骤

汇编语言程序设计的实验环境及上机步骤 一、实验环境 汇编语言程序设计的实验环境如下: 1.硬件环境 微型计算机(Intel x86系列CPU)一台 2.软件环境 ⏹Windows98/2000/XP操作系统 ⏹任意一种文本编辑器(EDIT、NOTEPAD(记事本)、UltraEDIT等) ⏹汇编程序(MASM.EXE或TASM.EXE) ⏹连接程序(LINK.EXE或TLINK.EXE) ⏹调试程序(DEBUG.EXE或TD.EXE) 文本编辑器建议使用EDIT或NOTEPAD,汇编程序建议使用MASM.EXE,连接程序建议使用LINK.EXE,调试程序建议使用TD.EXE。 二、上机实验步骤 注:以下步骤适用于除汇编语言程序设计的实验一到实验四外的所有实验(实验一到实验四仅使用TD.EXE)。 1.确定源程序的存放目录 建议源程序存放的目录名为ASM(或MASM),并放在C盘或D盘的根目录下。如果没有创建过此目录,请用如下方法创建: 通过Windows的资源管理器找到C盘的根目录,在C盘的根目录窗口中点击右键,在弹出的菜单中选择“新建”→“文件夹”,并把新建的文件夹命名为ASM。 请把MASM.EXE、LINK.EXE、DENUG.EXE和TD.EXE都拷贝到此目录中。 2.建立ASM源程序 建立ASM源程序可以使用EDIT或NOTEPAD(记事本)文本编辑器。下面的例子说明了用EDIT文本编辑器来建立ASM源程序的步骤(假定要建立的源程序名为HELLO.ASM),用NOTEPAD(记事本)建立ASM源程序的步骤与此类似。 在Windows中点击桌面左下角的“开始”按钮→选择“运行”→在弹出的窗口中输入“https://www.docsj.com/doc/1919337351.html, C:\ASM\HELLO.ASM”,屏幕上出现EDIT的编辑窗口,如图1所示。

汇编上机实验报告

实验一认识Tddebug集成操作软件实验日志 指导教师曾素华实验时间:2013 年04 月02 日学院计算机科学与技术专业计算机科学与技术 班级0411005 学号2010211912 姓名李新娱实验室s401 一、实验题目 认识Tddebug集成操作软件 二、实验目的 1.熟悉汇编程序的开发过程。 2.认识Tddebug集成操作软件。 3.掌握在Tddebug集成环境中编辑、编译、连接汇编语言程序方法。 4.掌握INT 21H软件中断来调用DOS内部子程序的方法 三、实验内容及说明 1.实验内容:数据传送实验 1)编程将数据段中的一个字符串传送到附加段中,并输出附加段中的目标字符串 到屏幕上。参见示例出程序。 2)修改此程序,采用字符串传送指令完成。 2.实验中使用DOS功能调用(INT 21H): 参见教材《32位微型计算机原理与接口技术》89页 (1)显示字符串 入口:AH=09H 调用参数:DS:DX=串首地址,‘$’为结束字符。 (2)返回DOS系统 入口:AH=4CH 调用参数:AL=返回码 四、实验主要步骤 要求一数据传送实验 1.运行Tddebug软件,选择Edit菜单编写实验程序

2.使用Compile菜单中的Compile和Link对实验程序进行汇编、连接,生成执行文件。

3.使用Rmrun菜单中的Run运行程序,观察运行结果。

4.使用Rmrun菜单中的Debug调试程序,查看程序段、数据段、附加段装入内存后的分配情况。单步执行数据传送指令后,观察各寄存器及数据区的内容。过程如下: 3)按F7单步执行,在代码区中有一个三角,表示正在执行的指令。每一条指令 的执行一定会使目标寄存器和状态寄存器发生变化,从相关窗口看结果。 4)检查内存数据区的内容,关键是找出用户程序的数据段和附加段: ●方法1:在CPU窗口按Tab键使内存数据显示区成为活动区,按Ctrl+G键, 输入:“DS或ES寄存器的值:偏移地址”,即可显示用户指定的数据区 ●方法2:选择菜单View| Dump,弹出内存数据显示窗口。 3) 查看执行结果:按Alt+F5,切换到用户窗口。

汇编语言上机指导及例示(川大微机原理实验资料和内容以及MASM使用方法)

汇编语言上机指导及例示、习题 从如何建立源文件到进行调试作下简要的介绍,并配例题说明。由于本人水平有限,在下文 在如有错误及可以进一步修改的地方请大家指出 汇编语言上机过程: 一、上机前的软件准备: MS-DOS操作系统(如:MSDOS6.22 , MSDOS7.0 等) 文本编辑器(如:https://www.docsj.com/doc/1919337351.html, , TURBO.EXE , TC.EXE , C.EXE 等) 汇编程序(如:MASM.EXE , ASM.EXE 等) 连接程序(如:LINK.EXE 等) 调试程序(如:DEBUG.EXE 等) 二、汇编程序建立过程: a.建立汇编源程序─通过───→ b.编译为目标文件─↓┬─→d.连接为可执行文件 ↑ │ c.不通过,重新修改(语句错误)↓ ├──────────────────────┘↓ ↑ f.不正确,用调试工具调试,重新修改(逻辑错误)↓ └────────────────────────────←e运行 ↓正确 g.完成 三、现在对(二)的每一个标有字母的过程(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文件) 这个过程计算机将把你编的正确的源代码编译为机器语言、程序清单及交叉引用表的目标文件。如果此时你的程序有语句错误,系统将报错,并指出在第几行,什么类型的错误,你可根据提示去逐一修改。现介绍具体过程:

实验二 汇编语言程序上机过程及调试

实验报告二 课程微机原理实验名称汇编语言程序上机过程以及调试第页专业电子信息班级__ __ 学号_ __ 姓名 实验日期:2014 年 3 月10 日报告退发(订正、重做) 一、实验目的 学习汇编语言程序设计的基本步骤,即编辑(EDIT)程序、汇编(MASM)、连接(LINK)和运行,使对汇编语言程序设计有一个初步的认识。 二、实验内容 1、学习使用全屏幕文本编辑软件EDIT。用EDIT输入一段给定的源程序。 2、用MASM对已存盘的源程序进行汇编,形成目标文件(.OBJ);如有错误,再返回到 EDIT进行修改。 3、用LINK对上述形成的目标文件进行连接,形成可执行文件(.EXE) 4、在DOS提示符下运行该可执行文件。 [汇编语言程序的编写格式] 汇编语言程序一般由几个段组成,它们分别是堆栈段,数据段,代码段。任何一个源程序至少必须有一个代码段和一条作为源程序结束的伪指令END。段的定义有两种格式,分述如 下: 1,完整的段定义格式: 一个段由段头,段体,段尾组成,形式如下: 段名SEGMENT[定位类型][组合类型][‘类别’] … … 段名ENDS 其中SEGMENT后的参数一般可省略,详细说明参阅后面的有关章节。 2,简化的段定义格式(MASM5.0版本提供)每段以.开始后跟固定的段名,一般形式如下: DOSSEG .MODEL 存储类型;“存储类型”可选择为SMALL。 .STACK[大小];堆栈段,“大小”指定堆栈的字节数。 .DATA;数据段。 .CODE[名字];代码段;一般只有一个代码段,名字可缺少 … … 例1:用完整的段定义编写一源程序。 NAME EXAM1;可以省略 DATA SEGMENT;定义数据段,以下是数据段的内容 STR1 DB “HELLO,WELCOME!”,13,10,‘$’ STR2 DB “DO YOU LIKE COMPUTER?(Y/N)”,13 10,‘$’

汇编语言程序设计上机步骤与调试方法

汇编语言程序设计上机步骤与调试方法 在汇编语言程序设计中,上机步骤与调试方法是非常重要的,它们 能够帮助程序员更好地编写和调试程序。本文将介绍汇编语言程序设 计的上机步骤以及常用的调试方法,帮助读者更好地理解和应用这些 知识。 一、上机步骤 1. 准备工作 在开始上机之前,我们需要做一些准备工作。首先,确认计算机已 经连接好必要的硬件设备,例如键盘、显示器等。其次,确保操作系 统和开发环境已经正确安装并能够正常运行。最后,根据需要准备好 所需的汇编语言文档和程序样例。 2. 创建新项目 在开始编写汇编语言程序之前,我们需要创建一个新的项目。在项 目中,我们可以组织和管理相关的文件和代码。通常,我们会选择一 个合适的集成开发环境(IDE)来创建和管理项目。 3. 编写程序 在创建项目之后,我们可以开始编写汇编语言程序。首先,我们需 要了解目标机器的指令集和寄存器,以便正确地编写程序。然后,根 据需求,我们可以使用不同的指令、寄存器和内存来实现所需的功能。在编写程序的过程中,注意代码的可读性和易于维护性是非常重要的。

4. 调试程序 编写完汇编语言程序后,我们需要进行调试,以确保程序的正确性 和稳定性。调试是一个迭代过程,通常包括以下步骤: - 设置断点:在程序中设置断点,以便在特定位置停止程序的执行。 - 单步执行:通过逐条执行程序的指令,我们可以观察程序的执行 过程,并检查各寄存器和内存的值。 - 监视变量:在调试过程中,我们可以监视程序中的变量值,以验 证其正确性。 - 查看输出:观察程序的输出结果,与预期结果进行比较,以确定 程序是否按照预期执行。 - 修复错误:如果发现程序中存在错误,我们需要对程序进行修改 和调整,直到问题解决为止。 5. 运行程序 在完成程序的调试之后,我们可以运行程序并观察其运行效果。在 运行过程中,我们可以测试程序的各种功能,以确保其正常工作。 二、调试方法 1. 打印输出 在调试汇编语言程序时,打印输出是一种常用且简单有效的调试方法。在程序中插入打印语句,将一些变量的值打印到控制台或文件中,

《汇编语言上机环境及基本步骤》实验报告

汇编语言上机环境及基本步骤 一、实验目的: 1.掌握编写汇编源程序的基本格式。 2.熟悉汇编语言上机环境。 3.掌握汇编源程序的编辑和修改,熟悉EDIT或记事本的使用方法。 4.掌握汇编源程序编译、连接成可执行文件的过程,熟悉MASM,LINK的使用方法。 二、实验内容: 在屏幕上显示并打印字符串“This is a sample program.” 三、实验仪器 微机一台 四、实验步骤: 1.在某盘如E盘,以自己的名字的汉语拼音建立一个工作目录(文件夹,名称不要太 长,不超过8个字符比如zhangsan),将文件MASM.EXE,LINK.EXE等复制到该目录 下,编辑的源文件也保存到该目录下。 从WINDOWS进入DOS环境:C:\> 2.用EDIT编辑SW1.ASM源文件。 (1). 从当前目录进入自己的目录下, C:\>E: 回车 E:\> CD zhangsan ↙回车 键入EDIT并回车: E:\ zhangsan>EDIT 根据菜单提示进行各种操作。 (2)进入EDIT编辑------EDIT是一种全屏幕编辑软件,可输入、编辑、修改、保存、另存源程序非常方便。 说明:也可在WIDNDOWS环境下用记事本编辑源文件,在保存时,保存类型应选择所有文件,不能选择文本文件(*.txt),否则在编译时会找不到源文件的。 (3).编辑新文件: a、在EDIT编辑器中输入汇编源程序。 b、检查输入有无错误。 c、打开文件菜单FILE→选择另存为SA VE AS┅→输入文件名为:SW1.ASM→保 存。 注意:保存到你自己的文件夹中 d、若需要修改此文件,用FILE菜单→选择打开OPEN→输入文件名SW1.ASM,即 可修改。修改后注意重新再存盘。 (4).编辑汇编源程序 a、在EDIT(或记事本)中输入源程序。 b、检查。 c、存盘。可保存为SW1.ASM

汇编语言基础

汇编语言基础 汇编语言是一种低级语言,用于编写计算机程序。它直接操作计算机的硬件,与高级语言相比,更接近计算机的底层。本文将介绍汇编语言的基础知识,包括语法、指令和程序结构。 一、语法 汇编语言的语法相对简单,主要由指令、寄存器和内存地址组成。指令是汇编语言的基本单位,用于执行特定的操作。寄存器是计算机内部的存储器,用于存储数据和指令。内存地址指的是计算机内存中的位置,用于存储和读取数据。 汇编语言的语法规则严格,每条指令都必须按照特定的格式书写。指令通常由操作码和操作数组成,操作码表示要执行的操作,操作数表示操作的对象。操作数可以是寄存器、内存地址或立即数。 二、指令 汇编语言提供了丰富的指令集,用于执行各种操作。常见的指令包括数据传输指令、算术运算指令、逻辑运算指令和控制转移指令。 数据传输指令用于将数据从一个位置传输到另一个位置。例如,MOV指令可以将数据从一个寄存器复制到另一个寄存器,或者将数据从内存复制到寄存器。 算术运算指令用于执行加法、减法、乘法和除法等算术运算。例如,

ADD指令可以将两个数相加,并将结果存储在指定的位置。 逻辑运算指令用于执行与、或、非和异或等逻辑运算。例如,AND 指令可以对两个数进行按位与运算。 控制转移指令用于改变程序的执行顺序。例如,JMP指令可以无条件地跳转到指定的地址,而JZ指令可以在条件满足时跳转到指定的地址。 三、程序结构 汇编语言的程序结构由指令序列组成,每条指令占据一行。程序从第一条指令开始执行,按照顺序逐条执行,直到遇到结束指令或跳转指令。 程序可以包含标签和注释。标签用于标识特定的位置,以便在跳转指令中引用。注释用于解释指令的作用和用途,提高程序的可读性。 程序还可以包含子程序和宏定义。子程序是一段独立的代码,可以在程序中多次调用。宏定义是一段可重用的代码片段,可以在程序中多次展开。 四、总结 汇编语言是一种强大而底层的编程语言,可以直接操作计算机的硬件。本文介绍了汇编语言的基础知识,包括语法、指令和程序结构。掌握汇编语言的基础知识对于理解计算机底层原理和进行系统级编

汇编语言实验讲义

汇编语言实验讲义 《汇编语言》实验讲义 《汇编语言》实验学时分配表序号 1 2 3 4 5 6 7 实验一汇编语言程序上机过程以及调试一、预习内容 1. 工具软件MASM、LINK的使用 2. 常用DEBUG命令的使用: G,D,R,T,U,Q 3. 完整程序设计方法的格式。二、目的要求 1. 掌握常用工具软件MASM、LINK的使用 2. 掌握常用DEBUG命令: G,D,R,T,U,Q 能灵活使用这些命令调试程序 3. 掌握完整程序设计方法的格式,能正确书写数据段,代码段等。三、实验内容 比较两个字符串string1和string2所含的字符是否相同,如果相同则显示’Match'否则显示’No match’.请读程序,并将程序补充完整。 DSEG SEGMENT string1 db 'Move the cursor backward.' string2 db 'Move the cursor backward.' mess1 db 'Match.',13,10,'$' mess2 db 'No match.',13,10,'$' DSEG ENDS CSEG SEGMENT assume cs:CSEG, ds:DSEG, es:DSEG, MAIN PROC FAR start: mov ax, dseg mov ds, ax mov es, ax lea si ,string1 实验项目名称汇编语言程序上机过程以及调试顺序程序设计循环程序设计分支程序设计子程序设计 I/O程序设计实验七综合程序设计合计实验学 时课内 2 2 2 2 2 2 2 14 课外 2 2 2 2 2 2 2 14 实验报告或作业 1 1 1 1 1 1 1 7 ① cld ② repz cmpsb jz match lea dx,mess2 jmp short disp match: lea dx,mess1 disp: mov ah,09h int 21h mov ax, 4c00h

汇编语言入门教程

汇编语言入门教程 在学习汇编语言之前,我们先了解一些基本概念。汇编语言是一种低级语言,它与计算机硬件直接相关。它使用特定的指令集来操作计算机的寄存器、存储器和其他设备。汇编语言的编程者必须具备对计算机硬件的深入了解,包括CPU的结构和指令集,以及内存的组织和管理。 在编写汇编语言程序时,我们首先需要选择合适的汇编器来将程序转换成机器码。汇编器是一种将汇编语言转换为机器码的工具。常用的汇编器有MASM、NASM和GNU汇编器。在选择汇编器之前,我们需要了解所用计算机的硬件架构和操作系统的要求。 下面我们来看一个简单的汇编语言程序示例: ```assembly section .data message db 'Hello, World!', 0 section .text global _start _start: ; 输出字符串 mov eax, 4 mov ebx, 1 mov ecx, message mov edx, 13

int 0x80 ; 退出程序 mov eax, 1 xor ebx, ebx int 0x80 ``` 在上面的示例中,我们定义了一个字符串变量message,并在程序中输出了该字符串。首先,我们将字符串的地址保存在ecx寄存器中,然后使用系统调用将字符串输出到标准输出。 接下来,我们使用了另一个系统调用来退出程序。我们将1保存在eax寄存器中,表示退出程序的系统调用编号。通过将ebx寄存器的值设置为0,我们告诉操作系统程序退出时不返回任何错误代码。 这只是一个简单的汇编语言程序示例,但它涵盖了汇编语言程序的基本结构和语法。在接下来的教程中,我们将逐步学习如何编写更复杂的汇编语言程序,并介绍汇编语言的各种特性和技巧。

计算机汇编语言

计算机汇编语言 汇编语言是一种基于机器指令的低级程序设计语言,常用于编写与硬件直接交互的程序。它以易于理解和编写的方式,将人类可读的指令转换为机器可执行的指令,更接近于计算机的底层操作。本文将介绍计算机汇编语言的基本概念、语法和应用。 一、汇编语言的基本概念 1.1 汇编语言与机器语言 汇编语言是机器语言的助记符表示法,使用易于记忆和书写的字符来代表不同的硬件指令。与机器语言相比,汇编语言更易于理解和修改,但仍然需要通过编译器将其转换为机器语言才能执行。 1.2 汇编器和编译器 汇编器是将汇编语言程序转换为机器语言程序的工具,它将汇编语言的助记符指令逐条转换为机器语言的二进制指令。而编译器则是将高级语言程序转换为汇编语言或机器语言的工具。 1.3 寄存器和内存 寄存器是计算机中用于存储临时数据和地址的高速存储器,其容量有限但访问速度快。而内存则是计算机中用于存储程序和数据的存储介质,容量较大但访问速度相对较慢。 二、汇编语言的语法和指令 2.1 汇编语言的语法

汇编语言具有一定的语法结构,包括指令、操作数和注释等。指令 表示计算机进行的操作,操作数表示指令的操作对象,而注释则是为 了方便程序员理解和维护代码所添加的文本说明。 2.2 汇编指令 汇编指令包括数据传输指令、算术逻辑指令、控制指令等。数据传 输指令用于将数据从一个位置传输到另一个位置,算术逻辑指令用于 进行基本的数学和逻辑运算,控制指令用于实现程序的流程控制。 2.3 寻址方式 寻址方式是指在汇编语言中操作数的表示方式,常见的寻址方式包 括立即寻址、直接寻址、间接寻址和寄存器寻址等。不同的寻址方式 适用于不同的场景和指令需求。 三、汇编语言的应用 3.1 系统软件开发 汇编语言在系统软件开发中发挥着重要的作用,如操作系统和编译 器的开发。由于直接操作硬件,汇编语言能够实现更高效和精确的控制,提高系统的性能和稳定性。 3.2 嵌入式系统开发 嵌入式系统通常具有硬件资源有限、功耗低、实时性要求高等特点,汇编语言能够直接操作硬件资源,提供更精细的控制,满足嵌入式系 统开发的需求。

单片机实验报告-KeilC的使用与汇编语言上机操作参考模板

《微机实验》报告 实验名称 KeilC的使用与汇编语言上机操作指导教师 专业班级姓名学号序号 联系方式

一、任务要求 实验目的:熟悉KeilC环境,通过在KeilC环境下调试字节拆分、合并程序、数据块清零程序、加法程序,掌握汇编语言程序的调试方法,加深对BCD码、ASCII码、 堆栈、寄存器、数据指针、汇编语言指令、机器码等基本概念的理解,为后续 程序编制和调试打下基础。 实验内容:1.掌握KeilC环境的使用 1)字节拆分、合并:调试e421.asm程序,观察相关寄存器和单元的内容。 2)数据块填充:调试fill.asm程序,观察相关寄存器和单元的内容。 2. 编写两个十六位数的加法程序。 有两个十六位无符号数,分别存放在从20H和30H开始的数据区中,低八位 先存,高八位在后,和存于R3(高八位)和R4(低八位),进位位存于R2。 二、设计思路 1.掌握KeilC环境的使用 1)字节拆分、合并:字节拆分要将BCD码转换为2字节ASCII,需将BCD码拆为两部分,分别加30H。具体先用XCHD语句将BCD码与00H交换低位,“高位” 需先用SWAP语句将高低位交换,再加30H;“低位”直接加30H。字节合并同 理,需减30H再合并。 2)数据块填充:指针在7000H,利于循环语句递增填充,A寄存器中存放要填充的数据,DPTR数据指针指向片外,R0计数。用CJNE构成循环,循环中A、DPTR、 R0都加1 2.编写两个十六位数的加法程序 两数低位分别存于20H、30H,高位存于21H、31H。用ADD语句将低位相加,存于 R4;用ADDC语句将高位和进位Cy相加,存于R3;存进位需先将A寄存器清零, 再用ADDC语句将A、00H和Cy相加,存于R2。 三、资源分配 本程序数据均存于片内RAM中,有两个十六位无符号数,低位分别存于20H、30H中,高位分别存于21H、31H中。高八位和存于R3中,低八位和存于R4中, 进位位存于R2中。

单片机实验报告KeilC的使用与汇编语言上机操作

单片机实验报告KeilC的使用与汇编 语言上机操作 单片机实验报告:Keil C的使用与汇编语言上机操作 一、实验目的 1.掌握Keil C的使用方法,了解其集成开发环境下的单片机编程流程。 2.掌握汇编语言的基本语法和指令,通过上机操作熟悉其应用。 3.通过实际操作,增强动手能力和解决问题的能力。 二、实验设备 1.单片机开发板 2.Keil C软件 3.电脑及编程器 三、实验原理及步骤 1.Keil C使用介绍 Keil C是一款广泛使用的单片机集成开发环境,它提供了包括编译器、调试器、仿真器等在内的全套开发工具。使用Keil C可以方便地进行代码编写、编译、调试和模拟,适用于多种单片机开发。 2.汇编语言基础 汇编语言是一种直接与硬件相关的编程语言,它通过特定的指令集直接控制硬件进行操作。汇编语言具有高效、直接的特点,但编写和理解相对困难。本实验主要学习并熟悉汇编语言的基本语法和指令。 3.实验步骤 (1) 在Keil C中创建新项目,选择合适的单片机型号。 (2) 创建源文件,编写汇编程序。 (3) 对源文件进行编译,生成目标文件。

(4) 将目标文件下载到单片机开发板进行调试和运行。 四、实验内容及分析 1.在Keil C中创建新项目并选择单片机型号。在创建项目时,需要选择正确 的单片机型号,这将直接影响到程序的编写和运行。根据实际需要,我们选择了AT89C51作为实验用的单片机。 2.创建源文件并编写汇编程序。在Keil C中,可以方便地创建新的源文件, 并在其中编写汇编程序。例如,下面是一个简单的汇编程序,用于点亮开发板上的LED灯: MOV P1, #1 // 将1赋值给P1端口 此程序将使P1端口的所有引脚输出高电平,从而点亮LED灯。 3.对源文件进行编译并生成目标文件。在Keil C中,可以通过简单的点击完 成编译操作。编译成功后,将生成一个目标文件(如*.obj文件)。 4.将目标文件下载到单片机开发板进行调试和运行。在Keil C中,可以通过 仿真功能模拟程序的运行,也可以通过调试功能查看程序运行过程中的细节信息。如果程序运行无误,将在单片机开发板上看到预期的结果。 五、实验总结与体会 通过本次实验,我们深入了解了Keil C的使用方法和单片机编程的基本流程。同时,通过实际操作,我们熟悉了汇编语言的应用和编程技巧。虽然汇编语言相对于高级语言更为复杂,但在特定场合下(如对性能要求极高或与硬件直接交互时),其高效性和直接性具有不可替代的优势。因此,掌握汇编语言对于单片机开发具有重要的意义。在未来的学习和实践中,我们将进一步运用和发展所学的知识和技能,为科学研究和工程实践做出贡献。

汇编语言实验指导书 (3)

实验报告 实验课程:汇编语言 学生姓名:李斯超 学号:6100409010 专业班级:电三091班 2010年12月20日

目录 实验1 利用DEBUG调试汇编语言程序段实验2 初级程序的编写与调试实验(一)实验3 初级程序的编写与调试实验(二)实验4 汇编语言程序上机过程 实验5 分支程序实验 实验6 循环程序实验 实验7 子程序实验

实验1 利用DEBUG调试汇编语言程序段 一.实验目的 1.熟悉DEBUG有关命令的使用方法; 2.利用DEBUG掌握有关指令的功能; 3.利用DEBUG运行简单的程序段。 二.实验内容 1.进入和退出DEBUG程序; 2.学会DEBUG中的 1)D命令(显示内存数据D 段地址:偏移地址) 例1:-D100 2)E命令(修改指定内存) 例1:-E100 41 42 43 44 48 47 46 45 -D 100,L08 结果:08F1:0100 41 42 43 44 48 47 46 45 例2:-E 100: 08F1:0100 76 42 :42是操作员键入 此命令是将原100号内存内容76修改为42,用D命令可察看。 3)R命令(显示当前寄存器的内容) 4)T命令(设置陷井,单步执行) 5)A命令(将指令直接汇编成机器码输入到内存中。) 6)G命令等的使用(执行A命中输入的汇编指令) 3.用DEBUG,验证乘法、除法、加法、减法、带进位加、带借位减、堆栈操作指令、串操作指令的功能。 四.实验环境 PC微机 DOS操作系统或Windows 操作系统 MASM.EXE,LINK.EXE,https://www.docsj.com/doc/1919337351.html,或宏汇编集成环境 五.实验步骤 1.在DOS提示符下,进入DEBUG程序; 在运行中输入cmd命令调出DOS窗口,在其中输入debug命令进入程序。 2.详细记录每一步所用的命令,以及查看结果的方法和具体结果。 (1)在debug中输入D查看当前数据数据段的断地址:偏移地址中的内容。如输入-d100,接着操作输入e命令,e命令可以修改指定的内存中的数据,如输入-e100

相关文档
相关文档 最新文档