文档库 最新最全的文档下载
当前位置:文档库 › 实验二 汇编语言程序上机过程及调试

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

实验报告二

课程微机原理实验名称汇编语言程序上机过程以及调试第页专业电子信息班级__ __ 学号_ __ 姓名

实验日期: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,‘$’

STR3 DB “NICE!”,13,10,‘$’

STR4 DB “SORRY!”,13,10,‘$’

STR5 DB “UNKNOW,ANSWER AGAIN!(Y/N)”,DB 13,10,‘$’

STR6 DB “SEE YOU NEXT TIME!”,13,10,‘$’

DA TA ENDS ;数据段结束

CODE SEGMENT ;定义代码段

ASSUME CS:CODE;DS:DATA;以下是代码段内容START:MOV AX,DA TA;给数据段寄存器赋值

MOV DS,AX

MOV AH,9;显示一字符串的功能号

MOV DX,OFFSET STR1;显示字符串STR1的偏址

INT 21H;DOS功能调用

ASK :MOV DX,OFFFSET STR2;显示字符串STR2

INT 21H

MOV AH,1;键盘输入一字符的功能号

INT 21H;键入的字符ASCⅡ码在AL

NOT AL;求反

TEST AL,‘Y’;是否按下‘Y’或‘y’键

JE NEXT1

TEST AL,‘y’

JE NEXT1

TEST AL,‘N’;是否按下‘N’键或‘y’键

JE NEXT2

TEST AL, ‘n’

JE NEXT2

MOV DX,OFFSET STR5;不是按上述键

MOV AH,9

INT 21H

JMP ASK;再返回ASK

NEXT1:MOV DX,OFFSET STR3;是按下‘Y’或‘y’键

MOV AH,9

INT 21H

JMP BYE

NEXT2:MOV DX,OFFSET STR4;是按下‘N’或‘n’键

MOV AH,9

INT 21H

BYE:MOV DX,OFFSET STR6

INT 21H

MOV DL,7;喇叭响的ASCⅡ码

MOV AH,2

INT 21H

MOV AH,4CH;退回DOS

INT 21H

CODE ENDS;代码段结束

END START;源程序结束

注:源程序中的每一行注释语句前一定要加分号‘;’,下同。

例2;用简化的段定义编写一源程序。

TITLE HELLO;可省略

. MODEL SMALL

. STACK 100H ;可省略

. DATA ;数据段开始

MESSAGE DB“MAKE THE WORLD FULL WITH LOVE!”,DB 13,10,‘$’. CODE ;数据段结束,代码段开始

GO:MOV AX,@DATA

MOV DS,AX;给数据段寄存器赋值

LEA DX,MESSAGE

MOV AH,9

INT 21H

MOV CX,10

MOV AH,2

NEXT: MOV DL,7;喇叭连续响10次并显示10个‘*’

INT 21H

MOV DL,‘*’

INT 21H

LOOP NEXT

MOV AH,4CH

INT 21H

END GO

……

三、实验结果与总结

实验在调试过程中遇到什么问题?如何解决的?

附:

[有关EDIT的使用方法]

编写源程序可用多种文本编辑软件,如行编辑EDLIN、WORDSTAR(WS)某些高级语言集成开发环境的编辑器等等;这里简要介绍EDIT的使用方法。EDIT是DOS5.0以上版本提供的一种简洁方便易学且流行风格的全屏幕编辑软件,一般微机都有。

1.进入EDIT;在DOS提示符下键入EDIT回车,即可进入EDIT环境。可以看到它的主

菜单包括:File(文件)、Edit(编辑)、Search(查找)、Option( 选择)、Help(帮助)。2.可用键盘或鼠标操作选择菜单。这里只介绍键盘操作方法。按Alt键激活主菜单。用←→

键移动光标选择主菜单,或按下菜单名中高亮字符键进行选择。也可一开始就按Alt+主菜单中第一字符键选择主菜单。

3. 每个主菜单被选择后,会出现一对应的下拉菜单。用↑↓键移动光标选择某项功能,或直

接按某项高亮字符,即可。

4.主菜单FILE的使用。在FILE中有NEW,OPEN,SA VE,SA VE AS,PRINT,EXIT等项,分述如

下:

(1)NEW建立一个新文件;其实在一进入EDIT后就是该功能项。此时,文件的标题是UNTILED(无名);可进行文件输入。

(2)OPEN…打开一个已存在的磁盘文件;此时会出现一个大窗口,你可用TAB键(或SHIFE+TAB)进入各小窗口选择响应的磁盘符,目录及文件名。你也可以在要进入EDIT 时,在DOS提示符下键入EDIT后再键入(盘符,路径)文件名,回车即可。

(3)SAVE把编写或修改过的文件存盘;若是一个无名新文件,则有一窗口提示你输入一文件名;有名文件直接存盘。此项操作后不退出EDIT。

(4)SA VE AS…把在编辑文件改用另一名称存盘;不退出EDIT。

(5)PRINT…打印(此项省略)。

(6)EXIT退出EDIT。若是一新文件或修改过的文件,则有一窗口提示,问你当前文件是否要存盘,当前选项YES是存盘,直接按回车;若不想存盘,按键‘N’,或用TABLE 键选NO,按回车。次项操作有退出EDIT。

5,主菜单EDIT的使用。在EDIT中有CUT,COPY,PASTE,CLEAR等项。EDIT提供的“块操作”功能给文本编辑带来很大方便。步骤如下:

(1)要用块操作功能,首先要在编辑的文本的屏幕上定义一个“块”;否则,该菜单各项不被激活而呈灰色。定义“块”的法官年法是:把光标移动到要定义的块首,然后按下SHIFT键,再按下SHIFT,再按下→或←键(块向行方向扩展),再按下↑或↓键(块向列方向扩展)。被定义的块以反显颜色呈现。

(2)选择菜单EDIT,其中CUT,COPY,CLEAR等项激活;选CUT,就是把定义块“剪下”放在一个所谓的剪贴板上(此处看不见);选COPY,就是把定义块复制到剪贴板上;选CLEAR,就是把定义块清除掉。

(3)定义块被CUT或COPY后,菜单PASTE(粘贴)被激活后,说明剪贴板上有内容。此时,把光标移动到你要插入“块”的位置,然后选PASTE,剪贴板上的内容就复制到光标所在处。

注:“剪贴板”只能存放一个“块”的内容;“剪贴板”上的内容可多次“粘贴”。

6。主菜单SEARCH的使用。此菜单包括FIND。。。REPEAT LAST FIND,CHANGE等项。它们提供在被编辑的文本中查找或替换某一指定的字符串的功能。

(1)FIND……:此选项,出现一对话框,首先输入查找的字符(串),然后有两项选择:[--]Math Upper/Lomercase是否区分字符的大小写?用空格键选择,[]中出现×表示

要。[--]Whole word所选字符(串)在文件中是否为一完整单词?选择方式同上。例如:在文中有FOR,INFORMA TION,FORMAT等字符串,现在要查找‘FOR’,若作为一完整单词,就只能找到FOR,否则其他包含‘FOR’的字符串也可查找到。

(2)REPEAT LAST FIND:上述FIND只能找到第一个目标(从光标位置开始);而REPEAT 项可继续向后重复上一次的查找。此项可按F3键执行。

(3)CHANGE:替换字符串。选此项,出现一对话框;首先在‘Find What’窗口输入查找内容,然后按TAB键进入下一窗口‘Change To’输入替换内容;接下来的两项选择同

FIND项。最后的选择是〈Find and Verify〉,〈Change All〉,〈Cancel〉等;用TABLE键选择。它们分别是:找到一个目标后再选择是否替换,把所有查找到的目标一次性替换,取消。

7,主菜单OPTION:其主要功能是改变屏幕前景和背景颜色。〈省略〉

8,主菜单HELP:提供帮助。除此之外,在文本编辑的过程中,你可随时按F1键求得及时帮助。

[宏汇编程序MASM的使用]

MASM是一个系统文件,它最主要的功能是把由汇编语言编写的源程序翻译成机器码,即目标代码。除此之外,它还完成对源程序进行语法格式检查,给出错误信息,分配存储区域,把各种进制的数转换成二进制,把字符转换成ASCⅡ码,并计算表达式的值(具体过程可参阅清华出版的教科书第13章第一节)。

源程序编写好并存盘后,接着的工作是用MASM对源程序进行编写,以产生相应的机器码目标程序。下面为了叙述方便,我们假设MASM和名为MY.ASM的源程序都存放在C 盘。有两类运行MASM的方式,分述如下:

方式1. 使用提示的汇编

C》MASM 回车;启动MASM

屏幕上显示有关MASM版本的说明《略》;以下按屏幕提示输入:

Source filename[.ASM]:MY回车;输入源程序文件名

Object filename[.OBJ]:回车;输入目标程序文件名,一般直接回车,名同源程序。

Source fisting[NUL.LST]:MY回车;输入一名,生成列表文件。若直接回车,就不生成该文件。

Cross-reference[NUL.CRF]:MY回车;生成交叉引用文件。若直接回车,就不生成该文件。

这时便开始对源程序进行汇编。如源程序有错误,则给出有关错误信息(错误语句,错误代码,错误性质)。因此,要返回到文本编辑中(如EDIT)进行修改源程序,再汇编,直到没有错误为止,此时显示:

Warning Severe

Errors Errors

0 0

关于列表文件(. LST)和交叉引用文件(. CRF)的用途可参阅教科书及其它资料;我们一般不需要生成它们,而只要目标程序(. OBJ)。

方式2. 使用命令行汇编:

格式1:

C>MASM MY,,,;回车。它等效与下列命令,生成目标,列表,交叉文件

C>MASM MY.ASM ,MY.OBJ,MY.LST,MY.CRF回车。

格式2:

C>MASM MY ;回车只生成目标文件(OBJ),注意:分号‘;’不可缺少。

[连接程序LINK的操作]

由汇编程序建立的目标码文件还不能直接上机运行,必须经过连接之后才能成为可执行文件(. EXE)。(详细内容参阅教科书第13章第2节)。

格式:C>LINK目标文件名;回车

或C>LINK目标文件名;回车

屏幕显示LINK版本说明,以下按屏幕提示输入:

Object Modules[.OBJ]:目标文件名;若LINK后有文件名,则直接回车。

Run File[文件名.EXE]:回车;可执行文件名同目标文件。

List File[NUL.MAP]:文件名回车;内存分布图文件,若不要,可直接回车。

Libraries[.LIB]:回车;没有库文件,直接回车。

如果有多个要连接的目标文件,应一次键入,每个目标文件名用‘+’号相间隔(本实验例题都是一个文件)。当回答完以上问题后,连接程序开始连接。若连接过程有错,则显示有关错误信息。如:

Warning:No stack segment

There was 1 error detected

在源程序中美哟定义用户堆栈段,会出现差警告信息,可忽略它。但是,若出现Severe error,必须重新编辑源程序找出错误原因,然后重新汇编,再经过连接,直至无错。

【运行程序】

连接成功后生成的可执行(.EXE)文件,可以在DOS提示符下直接键入文件名(不必要扩展名)运行此程序。

如:运行例1(假设生成的可执行文件名为EXAM1.EXE)

C>EXAM1 回车

屏幕显示:HELL,WELLCOM!

DO YOU LIKE COMPUTER?(Y/N)

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

汇编语言上机操作及程序调试的方法第一节在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提示符下,直接打入文件名(不用扩展名),就可以把执行文件从盘上装入内存,且立即执行此程序。

实验二 汇编语言程序的运行与调试一

实验二汇编语言程序的运行与调试一.实验目的: 1、掌握汇编语言源程序的书写格式。 2、掌握EDIT、MASM、LINK、DEBUG等软件的使用方法。 3、掌握上机编辑、汇编、连接及运行汇编语言程序。 二&实验环境: 微型计算机一台 DOS或WINDOWS操作系统,MASM开发套件。 三.实验原理: 1、完整的段定义伪操作 data segment ; 定义数据段 … data ends extra segment ; 定义附加段 … extra ends stack segment stack ; 定义堆栈段 … stack ends code segment ; 定义代码段 assume cs:code, ds:data, es:extra start: mov ax, data mov ds, ax ; 段地址 段寄存器 ... … ; 在代码段填入指令序列 mov ah,4ch int 21h ; 程序终止,返回DOS code ends end start ; 汇编结束 2、汇编语言源程序的汇编过程 汇编语言源程序的汇编过程是是利用汇编程序(MASM)对已编辑好的源程序文件(.ASM)进行汇编,将源程序文件中的助记符指令逐条翻译

成机器码指令,并完成源程序中的伪指令所指出的各种操作,最后可以建立3个文件:扩展名为.OBJ的目标文件、扩展名为.LST 的列表文件和扩展名为.CRF 的交叉索引文件。目标文件(.OBJ)是必须建立的,列表文件(.LST)和交叉索引文件(.CRF)两个文件可有可无,可以通过汇编时的命令加以选择。3、目标程序的连接过程 汇编后产生的目标程序(OBJ文件)并不是可执行程序文件(EXE文件),还不能直接运行,它必须通过连接程序(LINK)连接成一个可执行程序(EXE 文件)后,才能运行。连接程序给出的“无堆栈段的警告性错误”并不影响程序的运行。4、为运行汇编语言程序至少要在磁盘上建立以下文件: (1)编辑程序,如EDIT.EXE,编辑汇编源程序 (2)汇编程序,如MASM.EXE,生成目标代码文件。 (3)连接程序,如LINK.EXE,生成可执行程序文件。 (4)调试程序,如DEBUG.EXE。 四.实验内容: 1、将edit、masm、link等程序拷贝在C盘根目录下;鼠标左键单击开始→运行,键入command命令,进入DOS方式。 2、汇编语言源程序的建立 在DOS状态下键入以下命令:C:\ > EDIT,进入EDIT后,选择File 主菜单下的“new”命令,输入如下汇编源程序;选择File主菜单下的“save”命令保存文件至C盘根目录下,文件名为abc.asm;选择File菜单下的Exit 项,退出EDIT编辑环境。 assume cs:code

汇编语言上机过程

汇编语言程序的上机过程 一、上机环境 要运行调试汇编语言程序,至少需要以下程序文件: ?编辑程序:https://www.wendangku.net/doc/b519158293.html,或其他文本编辑工具软件,用于编辑源程序。 ?汇编程序:MASM.EXE,用于汇编源程序,得到目标程序。 ?连接程序:LINK.EXE,用于连接目标程序,得到可执行程序。 ?调试程序:DEBUG.EXE,用于调试可执行程序。 二、上机过程 汇编语言程序上机操作包括:编辑、汇编、连接和调试几个阶段。 1.编辑源程序 用文本编辑软件创建、编辑汇编源程序。常用编辑工具有:https://www.wendangku.net/doc/b519158293.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、自学并完成如下内容: (1)自学汇编语言程序的上机过程 (2)学会编译自己的第一个汇编程序 (3)程序执行过程的跟踪 2、完成实训内容一; 3、将程序编译连接,用DEBUG加载、跟踪,然后回答问题。 4、编写程序code段中的代码,将a段和b段中的数据依次相加,将结果存到c段中。 5、编辑录入程序,然后编译连接并执行。 6、编辑录入程序,然后编译连接并执行。 二、实验目的 (描述实验目的) 1.学习汇编语言程序的编辑、编译与连接。 2.掌握使用DEBUG调试汇编语言程序。 三、实验原理 (描述实验基本原理) 利用edit编写汇编代码 利用MASM.exe汇编源程序产生obj文件 利用LINK.exe产生exe可执行文件 利用debug追踪程序的运行 四、实验过程 (重点部分,必须包括:实验开发环境、实验步骤、实验源程序代码及其结构分析)1、程序运行体验实验 (1)

(2)

mov ax,2000H ax=2000 栈顶为0000 mov ss,ax ss=2000 栈顶为0000 mov sp,0 sp=0 栈顶为0000 add sp,10 sp=10 栈顶为0000 pop ax ax=0000 pop bx bx=0000 push ax 栈顶为0000 push bx 栈顶为0000 pop ax ax=0000 pop bx bx=0000

(3) 通过d命令查看PSP内容2、常用指令与寻址体验实验 (1)

汇编语言程序设计

《汇编语言程序设计》课程教学大纲 学时:32 学分:2 理论学时:24 实验学时:8 面向专业:电科、电信、通信课程代码:B2700009 先开课程:C语言程序设计课程性质:必修 执笔人:王艳春审定人:陈龙猛、张金政 第一部分:理论教学部分 一、说明 1、课程的性质、地位和任务 本课程属于专业基础课,是电科、电信和通信专业学生必修的核心课程之一,是进一步学习微机原理、操作系统等课程的基础。掌握它有助于提高学生对计算机系统的设计、研究、开发和应用能力。汇编语言是一种面向机器、实践性很强的程序设计语言,必须结合一种实际的计算机来组织教学。因此,本课程选择最广泛使用的IBM PC作为具体的机型来介绍。通过课堂教学和上机实践,培养学生用汇编语言进行编程的思路、方法,养成良好的程序设计习惯,并了解底层I/O 驱动软件的编程方法,熟悉源程序汇编、链接和调试运行的步骤和方法,掌握dos、BIOS功能的调用方法及使用debug工具的调试手段,为后续课的学习打下扎实的基础。 2、课程教学和教改基本要求 课程的目的与教学基本要求:本课程主要介绍汇编语言和宏汇编的基本概念,80X86CPU的指令系统和寻址方式;介绍汇编语言程序格式、伪操作和上机全过程。通过实际例子,详细叙述顺序、分支、循环、子程序等基本程序结构以及程序设计的基本方法和技巧。学习这门课程,应达到以下几个要求: ①掌握汇编语言的基本理论知识和有关概念;掌握用汇编语言编写源程序的基本原则、方法和技巧; ②具有阅读,分析汇编语言程序的能力; ③通过上机实践,能够熟练地掌握汇编语言程序的编辑、汇编、连接、运行 过程及debug工具的调试手段。

汇编语言程序设计实验报告

汇编语言程序设计报告 班级: 学号: 姓名:

目录 汇编语言程序设计报告 (1) 汇编语言程序设计实验报告 (4) 实验一 (4) 实验内容 (4) 实验目的 (4) 实验代码 (4) 实验代码整体思路 (5) 1.检测所编程序的正确性 (5) 实验二 (7) 1.实验内容 (7) 结果测试: (11) Debug: (11) 实验三 (13) 实验要求: (13) 实验代码: (13) 实验代码思路: (15) 检测结果,验证正确性 (15) 结论 (17) 实验四 (17) 实验内容 (17) 流程图 (18) 实验代码: (18) Windbg (21) 实验结果测试: (23) 输入数据进行测试 (24) 实验五 (24) 实验内容:多模块程序设计及多语言混合编程。 (24)

要求: (24) 实验代码: (24) 实验代码分析说明: (26) 实验数据检测:判断是否成功完成实验任务 (27) 实验心得 (28)

汇编语言程序设计实验报告 实验一 实验内容:熟悉DOS编程环境:编写一个DOS环境的汇编语言程序,要求从键盘输入一串字符,去除连续重复的字符后再显示,如:输入一串为“aaawwweerrty”的字符串,输出结果应为‘awerty’ 实验目的:通过上机实践加深对16位环境下编程的了解 学会使用debuge调试程序 实验代码: ASSUME CS:CODE, DS:DATA DATA SEGMENT BUFFER DB 60, ?, 60 DUP(?) PRINT DB 'TO INPUT: ' CRLF DB 0DH, 0AH, '$' DATA ENDS CODE SEGMENT MAIN: MOV AX, DATA MOV DS, AX MOV AH, 9 LEA DX, PRINT INT 21H MOV AH, 0AH LEA DX, BUFFER INT 21H MOV AH, 9 LEA DX, CRLF INT 21H

汇编实验

实验一DEBUG 命令的使用 【实验目的】 1.学习使用DEBUG程序的各种命令。 2.掌握用DEBUG调试自编程序的方法,为以后实验打下基础。 【实验内容】 1、请自学并完成如下内容: (1)DEBUG的使用方法(1) (2)DEBUG的使用方法(2) 2、用DEBUG调试、运行可执行程序。 1)进入DEBUG后,首先用命令R查看当前DS和IP寄存器内容,记录此值。 2)学习R,D,A,U,T,P,G命令的使用。 3)用命令A汇编下列指令,并判断指令正误并说明原因。 (1)LEA DI,[AX] (2)MOV DS,2010 (3)PUSH AL (4)MOV [BX],0 3.用A命令汇编下列程序段,完成将DS:2000开始的5个字节内存内容相加,并把相加的结果存放在DS:2005内存单元中,将程序写到硬盘上,然后用DEBUG调试﹑运行该程序,查看运行结果,观察程序段能否完成指定功能,若不能,说明原因。

【预习要求】 1、仔细阅读试验指导的“前言”、“试验环境与上机步骤”; 2、自学“DEBUG使用简介”、“经典DEBUG”; 2、计算下列表达式,并思考如何运行程序验证它们 45H +70H =_____ ,OF =_____ ,CF =_____ ; F6H +2AH =_____ ,OF =_____ ,CF =_____ 。 【报告要求】 1、每个实验内容的实验调式结果、试验分析以及试验问题回答,需有必要的屏幕截图。 2、回答思考题。 3、提交电子版试验报告。 4、雷同的实验报告将不分青红全部被判为0分。 【实验提示】 1)DEBUG的进入 ⑴如果是首次进入DEBUG编程,则只要在DOS提示符下键入DEBUG ↙,即可进入DEBUG环境,显示提示符“-”。 ⑵如果要对某个程序使用DEBUG进行调试,只要在DOS提示符下键入DEBUG 文件名↙,即可进入DEBUG环境,显示提示符“-”。

汇编实验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文件:连接映象文件,包括各个段在存储器中的分配情况,初学时不需要。

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

汇编语言上机环境及基本操作汇编语言是一种低级语言,它直接面向硬件,可以直接访问计算机的底层资源。为了学习和实践汇编语言,我们需要了解如何搭建汇编语言上机环境以及其基本操作。本文将介绍汇编语言上机环境的安装和基本操作的步骤,并给出一些示例。 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

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

汇编语言程序设计的实验环境及上机步骤 一、实验环境 汇编语言程序设计的实验环境如下: 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.wendangku.net/doc/b519158293.html, C:\ASM\HELLO.ASM”,屏幕上出现EDIT的编辑窗口,如图1所示。

汇编语言程序设计实验

目录 目录 (1) 实验一利用DEBUG熟悉常用指令的使用 (2) 一、实验目的 (2) 二、示例 (2) 三、实验题 (2) 实验二汇编程序和连接程序的使用 (6) 一、实验目的。 (6) 二、示例。 (6) 三、实验题。 (8) 实验三顺序结构程序设计 (11) 一、实验目的 (11) 二、示例 (11) 三、实验题 (12) 四、实验报告 (15) 实验四循环结构程序设计 (16) 一、实验目的 (16) 二、示例 (16) 三、实验题 (18) 实验五分支结构程序设计 (21) 一、实验目的 (21) 二、示例 (21) 三、实验题 (22) 实验六子程序设计 (29) 一、实验目的 (29) 二、实验题 (29)

实验一利用DEBUG熟悉常用指令的使用 一、实验目的 熟悉指令系统,掌握常用指令的用法;通过实验加深对各种寻址方式的理解;能熟练使用DEBUG中的命令对指令进行反汇编,观察并了解机器代码。 二、示例 请分别用一条汇编语言指令完成如下功能:(过程略)。 1.用寄存器BX和SI的基址变址寻址方式把存储器的一个字节与AL寄存器的内容相加,并把结果送到AL中。 ADD AL,[BX][SI] 2.用位移量为0520H的直接寻址方式把存储器中的一个字与3412H相加,并把结果送回该存储单元。 ADD WORF PTR [0520H],3412H 三、实验题 1.调试、验证下列指令的结果,已知(DS)=2000H,(BX)=0100H,(SI)=0002H,(BP)=0200H,(SS)=2300H,(20100)=12H,(20101)=34H,(20102)=56H,(20103)=78H,(21200)=2AH,(21201)=4CH,(21202)=B7H,(21203)=65H,(23204)=88H,说明各指令执行完后AX寄存器的内容。要求输入指令,相应存储单元的内容要事先设置,单步 P执行,观察执行结果。 (设置存储器的值)

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

实验报告二 课程微机原理实验名称汇编语言程序上机过程以及调试第页专业电子信息班级__ __ 学号_ __ 姓名 实验日期: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

汇编语言上机过程以及调试

一、预习内容 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 ① cld ② repz cmpsb jz match lea dx,mess2 jmp short disp match: lea dx,mess1 disp: mov ah,09h

int 21h mov ax, 4c00h int 21h MAIN ENDP CSEG ENDS end start 实验步骤: 1)用文字编辑工具(记事本或EDIT)将源程序输入完整后保存在c:\masm615下,注意保存时将文件扩展名改为.asm(如lab1.asm)。 2)打开桌面的“命令提示符”程序进入dos命令操作,先用cd masm615 命令改变路经,接着用”masm + 文件名”(如 masm lab1,这里文件名可以不带扩展名) 对源文件进行汇编,产生.obj文件和.LST文件。若汇编时提示有错,用文字编辑工具修改源程序后重新汇编,直至通过。 3)用”link + 文件名” (如 link lab1) 将.obj文件连接成可执行的.exe文件(lab1.exe)。

微机实验二 熟悉汇编程序建立及其调试方法

微机原理实验报告 实验二熟悉汇编程序建立及其调试方法 一、实验目的 1.熟悉汇编语言源程序的框架结构,学会编制汇编程序。 2.熟悉汇编语言上机操作的过程,学会汇编程序调试方法。 二、实验内容 1.学习编写汇编语言源程序的方法,了解数据存放格式。 2.阅读给出的程序,找出程序中的错误。 3.通过调试给出的汇编语言源程序,了解并掌握汇编语言程序的建立、汇编、链接、调试、修改和运行等全过程。 三、修改后的程序 STACKSG SEGMENT PARA STACK'STACK' ;定义堆栈段 DB 256 DUP (?) ;堆栈段为256个字节空间, STACKSG ENDS DATASG SEGMENT PARA 'DATA' ;设置数据段 BLOCK DW 0,-5,8,256,-128,96,100,3,45,6,512;定义数据段有20个字的数据 DW 23, 56, 420, 75, 0,-1024,-67,39,-2000 COUNT EQU 20 ;定义计数次数常量COUNT等于20 MAX DW ? ;保留1个字空间,用以存放最大值结果 DATASG ENDS CODESG SEGMENT ;代码段 ASSUME SS : STACKSG, CS : CODESG ;STACKSG为堆栈段CODESG为代码段ASSUME DS : DATASG ;DATASG为数据段 ORG 100H ;指令语句的起始偏移量为100H BEGIN: MOV AX, DATASG ;保存最大值结果 MOV DS,AX ;给段寄存器赋值 LEA SI,BLOCK ;将SI设为指向数据的指针 MOV CX,COUNT ;设置循环次数,CX中装入计数初值 DEC CX ;CX循环次数减1 MOV AX,[SI] ;从内存取数到AX CHKMAX: ADD SI,2 ;取完一次数据,地址偏移量加2 CMP [SI],AX ;数据指针当前所指单元的值与 AX比较 JLE NEXT ;取其中较大者存于AX中 MOV AX,[SI] NEXT: LOOP CHKMAX ;与数据段最后一个数据比较后跳出循环 MOV MAX,AX ;保存最大值到MAX MOV AH,4CH ;退出程序 INT 21H CODESG ENDS END BEGIN

汇编语言程序设计实验报告

实验报告 实验名称汇编语言程序设计 | | 专业班级:信息安全 学号: 姓名: 实验一汇编语言上机过程和Debug常用调试命令 一.实验目的: 学习程序设计的基本方法和技能,熟练掌握用汇编语言设计、编写、调试和 运行程序的方法。 二.实验题目: 熟悉与实验有关的系统软件(如编辑程序、汇编程序、连接程序和调试程序等)的使用方法。在调试过程中,学习及掌握debug程序的各种操作命令。 三.问题描述: 试编写一程序:比较两个字符串string1和string2所含的字符是否相同, 若相同则显示‘match’; 否则,显示‘no match’。

四.方法说明: a) 使用ws、tc或EDIT编辑程序来建立源文件,然后存盘,使系统返回DOS。 b) 用汇编程序masm(或asm)对源文件汇编产生目标文件obj 如:汇编指示出错则需重新调用编辑程序修改错误,直至汇编通过为止。 c) 用连接程序link 产生执行文件EXE. d) 执行程序,可直接从DOS执行程序。 e) 使用debug程序调试程序的方法。 五.实验步骤: 1.调用字处理程序EDIT 建立以sample.asm文件 datarea segment string1 db ‘move the cursor backward.’ string2 db ‘move the cursor backward.’ mess1 db ‘Match..’,13,10,’$’ mess2 db ‘No match!..’,13,10,’$’ datarea ends prognam segment

main proc far assume cs:prognam,ds:datarea,es:datarea start: push ds sub ax,ax push ax mov ax,datarea mov ds,ax mov es,ax lea si,string1 lea di,string2 cld mov cx,25 repz cmpsb jz match lea dx,mess2 jmp short disp

单片机实验报告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的使用方法和单片机编程的基本流程。同时,通过实际操作,我们熟悉了汇编语言的应用和编程技巧。虽然汇编语言相对于高级语言更为复杂,但在特定场合下(如对性能要求极高或与硬件直接交互时),其高效性和直接性具有不可替代的优势。因此,掌握汇编语言对于单片机开发具有重要的意义。在未来的学习和实践中,我们将进一步运用和发展所学的知识和技能,为科学研究和工程实践做出贡献。

汇编程序调试实验报告

微机原理与接口技术 课 程 作 业

班级: 目录 一、实验目的:2 二、实验环境2 三、实验过程3 〔一〕根底知识储藏3 〔二〕汇编语言程序设计3 〔三〕汇编程序调试3 四、调试实例4 〔一〕实例一4 〔二〕实例二6 〔三〕实例三8 〔四〕实例四10 五、实验总结13 〔一〕实验收获13 〔二〕实验感悟14 一、实验目的: 汇编语言是一种用助记符表示的程序设计语言。用汇编语言编写的源程序生成的目标代码短,占内存少,执行速度快,适合于系统软件、实时控制软件、I/O 接口驱动等程序设计。通过本次实验,熟练掌握汇编程序的调试,深入了解MASM 汇编语言及其程序设计方法。 二、实验环境 EDIT编辑器、MASM汇编程序、LINK连接程序、TD调试程序

三、实验过程 〔一〕根底知识储藏 1.了解微处理器80486的内部构造、存放器组、工作模式等根本知识。 2.熟练掌握微处理器指令系统的相关知识,重点掌握80486的寻址方式和常用的指令格式及功能。 3.了解MASM汇编语言及其程序设计方法。掌握MASM汇编语言的语句格式、语法规那么、常用伪指令及DOS功能的调用等。了解顺序构造、分支构造、循环构造和子程序的设计方法。 〔二〕汇编语言程序设计 1.分析问题,明确要解决的问题和要求。 2.确定解决问题的思路和方法。 3.将解决问题的方案编制成程序流程图。 4.根据流程图,逐条编写程序。 5.上机调试,验证程序是否正确。 〔三〕汇编程序调试 MASM汇编程序的主要功能是:把源文件转换成用二进制代码表示的目标文件,并生成列表文件;在转换过程中汇编程序将对源程序进展扫描,检查源程序是否有语法错误并指出源程序的语法错误。 汇编语言源程序的调试过程需要经过编辑、汇编、连接、运行、调试等几个

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