微机原理上机实验材料_第1页
微机原理上机实验材料_第2页
微机原理上机实验材料_第3页
微机原理上机实验材料_第4页
微机原理上机实验材料_第5页
已阅读5页,还剩79页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

§4.5汇编语言程序设计上机步骤与调试方法一.上机环境硬件系统软件

应用软件

操作系统:DOS系统编辑器:

EDIT.exe编程序:MASM.exe连接程序:LINK.exe调试程序:DEBUG.exe用户程序:ABC.exe等CPU、存储器(ROM、RAM)、I/O接口、输入、输出设备二.上机步骤①D:>EDITABC.ASM②D:>MASMABC.ASM;

有语法错,回EDIT下改源程序③D:>LINKABC.OBJ;

有错,回在EDIT下改源程序④D:>ABC

运行结果错,回EDIT下改源程序或在DEBUG下调试,找原因。⑤D:>DEBUGABC.exe编辑源程序

EDIT

ABC.ASM汇编源程序

MASM

ABC.ASM形成目标程序

ABC.OBJ连接目标程序

LINK

ABC.OBJ有连接错误信息?形成可执行程序

ABC.EXE装入可执行程序到内存,并执行D:\>ABC下一程序用DEBUG调试可执行程序D:\>DEBUG

ABC.EXE找到原因YNYNNYN有汇编错误信息?Y运行结果正确?用DEBUG调试程序查错?点击“运行”

三.具体操作步骤举例第一步

COMMAND

三.具体操作步骤举例DOS提示符

三.具体操作步骤举例进入EDIT编辑环境

三.具体操作步骤举例第二步

三.具体操作步骤举例编辑源程序

三.具体操作步骤举例编辑完后,准备存盘

三.具体操作步骤举例另存为……

三.具体操作步骤举例

三.具体操作步骤举例

三.具体操作步骤举例退出EDIT环境

三.具体操作步骤举例对源程序进行汇编源程序名源程序17行语法错第三步

三.具体操作步骤举例重新进入EDIT,打开源程序,进行改错

三.具体操作步骤举例类型不明确,两存储器单元之间不能直接传送数据

三.具体操作步骤举例1.改正2.存盘3.退出

三.具体操作步骤举例重新汇编

三.具体操作步骤举例对目标文件进行连接第四步

三.具体操作步骤举例目标文件名

三.具体操作步骤举例用DEBUG对可执行文件进行调试第五步

三.具体操作步骤举例DEBUG提示符用R命令显示各寄存器内容

三.具体操作步骤举例用U命令反汇编

三.具体操作步骤举例用T命令单步执行一条指令

三.具体操作步骤举例

三.具体操作步骤举例用D命令显示存储器单元内容

三.具体操作步骤举例

三.具体操作步骤举例

三.具体操作步骤举例

三.具体操作步骤举例

三.具体操作步骤举例

三.具体操作步骤举例

三.具体操作步骤举例

三.具体操作步骤举例

三.具体操作步骤举例用P命令单步执行一个过程

三.具体操作步骤举例用Q命令退出DEBUG

三.具体操作步骤举例

三.具体操作步骤举例用G命令设置断点,连续(全速)运行程序的调式方法

三.具体操作步骤举例用G命令连续执行到断点处

三.具体操作步骤举例用D命令显示存储器单元内容

三.具体操作步骤举例用G命令连续执行到断点处

三.具体操作步骤举例用D命令显示存储器单元内容

三.具体操作步骤举例用N命令命名用L命令装入程序DEBUG装入用户可执行文件的另一种方法

三.具体操作步骤举例用E命令修改内存

三.具体操作步骤举例

三.具体操作步骤举例

三.具体操作步骤举例用D命令显示存储器单元内容DEBUG常用命令汇总表(一)命令名格式功能R格式1:R显示所有寄存器中的内容.格式2:R寄存器名显示修改寄存器的内容U格式1:U[地址]从指定地址开始反汇编格式2:U地址范围对指定的地址范围进行反汇编D格式1:D[地址]从指定地址开始显示内存单元内容格式2:D地址范围显示地址范围内的内存单元内容E格式:E地址[数据]

把给定的数据送到指定地址开始连续的内存单元中

命令名格式功能T格式:T[=地址][x]从指定的地址开始跟踪x条指令.N格式:N[磁盘][路径]文件名在指定的盘,路径下建立文件G格式:G[=地址][断点]从指定地址开始执行程序,到断点处停下来.

W格式:W[地址]从地址开始的内存块写文件.

L格式:L[地址]将N命令指定的文件调入指定的内存地址.

DEBUG常用命令汇总表(二)DEBUG常用命令汇总表(三)命令名格式功能A格式:A[地址]从指定地址开始,对输出的语句汇编到内存.P格式:P[=地址][x]执行一个循环直到中断,x代表执行循环的次数.Q格式:Q结束并退出DEBUG程序.I格式:I端口地址从指定的端口地址读一个字节,并显示出来.

O格式:O端口地址值将值送到指定端口.

本章要点及复习重点4.1汇编语言基础1.掌握机器语言、机器语言程序、汇编语言、汇编语言源程序、汇编、汇编程序等概念。2.掌握汇编语言中表达式,特别是属性表达式及属性修改操作符PTR的应用。3.熟练掌握DB、DW、DD变量定义伪指令的应用会画出变量定义语句汇编后的存储器分配示意图。

本章要点及复习重点4.28086指令系统1.数据传送类指令掌握MOV、XCHG、LEA、XLAT、PUSH、POP等指令的应用。2.算术运算类指令掌握加法(ADD、ADC、INC)、减法(SUB、SBB、DEC、NEG、CMP)、乘法、除法、BCD数调整(DAA)等指令的应用及对标志位的影响。

本章要点及复习重点3.掌握逻辑运算类指令(AND、OR、XOR、NOT、

TEST)的应用及对标志位的影响。4.掌握移位指令(SHL、SHR、SAL、SAR)、循环移位指令(ROL、ROR、RCL、RCR)等指令的应用。

本章要点及复习重点4.3汇编语言程序设计1.掌握汇编语言程序设计步骤。2.熟练掌握汇编语言源程序的完整结构及相应的伪指令的意义。3.掌握分支程序设计时应注意的几个问题,会设计简单的分支程序。4.掌握循环程序的基本结构及循环程序的设计,会用气泡排序法进行二重循环程序设计。

本章要点及复习重点5.掌握子程序设计时的几个问题,包括:子程序的定义方法CALL、RET指令的应用(注意段内、段间子程序调用与返回时现场的保护与恢复以及堆栈的变化情况)主程序与子程序之间参数的传递方法用户信息的保护与恢复方法子程序说明文件包含的内容

本章要点及复习重点6.熟练掌握DOS的01H、02H、09H、0AH功能的调用方法。7.掌握字符串处理指令(MOVS、CMPS、SCAS、

STOS、LODS)的共同约定以及应用8.掌握宏指令的定义及调用方法

本章要点及复习重点4.4汇编语言程序的上机调试1.掌握汇编语言程序设计上机的基本步骤。2.掌握DEBUG的R、U、T、G、D、E、A、N、L、

Q等命令的功能及使用方法。上机作业(一)1.熟练掌握8086/8088的各种寻址方式及应用。2.

掌握DEBUG调试程序中的一些常用命令的使用方法,为以后的实验打下基础。一.实验目的二.实验仪器586微机1台寻址方式练习上机作业(一)1.

关于数据的寻址方式练习8086/8088提供多种方式实现操作数寻址,大体可分为7种:a.

立即寻址b.

寄存器寻址c.

直接寻址d.

寄存器间接寻址

e.

寄存器相对寻址f.

基址变址寻址g.

基址变址且相对寻址三.实验内容a-b要寻找的操作数与存储器无关。c-g要寻找的操作数在存贮器某单元,存贮器单元的地址由寻址方式确定。上机作业(一)掌握8086/8088的这些寻址方式,是学习汇编语言编程的关键。因此,我们编写了下面的程序段,以数据传送指令为例,列举了部份寻址方式,请同学们按下列要求认真完成。

[1]在全屏幕编辑软件下,建立以下汇编语言源程序。上机作业(一)STACKSEGMENTSTACKDB0B0H,0B1H,0B2H,0B3H,0B4H,0B5H,0B6H,0B7H,DB0B8H,0B9HDB0BAH,0BBH,0BCH,0BDH,0BEH,0BFHDB10HDUP(00)STACKENDSDATA1SEGMENTDB0A0H,0A1H,0A2H,0A3HTABLEDW0A5A4HDB0A6H,0A7H,0A8H,0A9H,0AAH,0ABHDB0ACH,0ADH,0AEH,0AFHDATA1ENDS上机作业(一)DATA2SEGMENTDB0C0H,0C1H,0C2H,0C3H,0C4H,0C5H,0C6H,0C7HDB0C8H,0C9H,0CAH,0CBH,0CCH,0CDH,0CEH,0CFHDATA2ENDSCODESEGMENTASSUMECS:CODE,DS:DATA1,ES:DATA2,SS:STACKSTART:MOVAX,DATA1MOVDS,AXMOVAX,DATA2MOVES,AXMOVBX,0004HMOVCX,0005H上机作业(一)MOVBP,0003H MOVSI,0002HMOVDI,0001HMOVAX,CX;以下指令按后表要求完成MOVAX,500H MOVAX,TABLE MOVAX,ES:[BX]MOVAX,[BX+05H] MOVAX,SS:[BX]+03H MOVAX,TABLE[BX] MOVAX,07H[BX] MOVAX,[BP]上机作业(一)MOVAX,TABLE[BP] MOVAX,08H[BP]MOVAX,[BP+06H]

MOVAX,DS:[BP+03H] MOVAX,[BP]+05H MOVAX,ES:[SI+03H] MOVAX,[DI+06H] MOVAX,[DI]+05H MOVAX,TABLE[SI] MOVAX,[SI] MOVAX,TABLE[DI] MOVAX,[SI]+05H上机作业(一) MOVAX,[BX][DI+01H] MOVAX,[BX][SI]+03H MOVAX,TABLE[BX][SI] MOVAX,ES:[BX][DI] MOVAX,[BP][DI+02H] MOVAX,TABLE[BP][DI] MOVAX,ES:[BP][SI] MOVAX,[BP][SI+05H] MOVAX,03H[BP][DI] MOVAX,[BP][SI] MOVAX,[BP+02H][DI+03H] MOVAX,TABLE[BP+02H][DI+03H] MOVAH,4CH INT21HCODEENDS ENDSTART上机作业(一)

[2]用MASM.EXE宏汇编程序对以上源程序进行汇编,其方法为:

MASM文件名.ASM;回车

此时,如果源程序中无语法错误,则在磁盘上形成文件名.OBJ文件。

[3]用LINK.EXE连接程序对文件名.OBJ文件进行连接,其方法为:

LINK文件名.OBJ;回车此时,如果连接正确,则在磁盘上形成:文件名.EXE

可执行文件。

[4]对源程序中从MOVAX,CX开始以下所有指令按下表进行计算。

上机作业(一)指令SRC寻址方式SRC的地址AX推算值AX实际值MOVAX,CXMOVAX,500HMOVAX,TABLEMOVAX,ES:[BX]MOVAX,[BX+05H]MOVAX,SS:[BX]+03HMOVAX,TABLE[BX]MOVAX,07H[BX]MOVAX,[BP]上机作业(一)指令SRC寻址方式SRC的地址AX推算值AX实际值MOVAX,TABLE[BP]MOVAX,08H[BP]MOVAX,[BP+06H]

MOVAX,DS:[BP+03H]MOVAX,[BP]+05HMOVAX,ES:[SI+03H]MOVAX,[DI+06H]MOVAX,[DI]+05HMOVAX,TABLE[SI]上机作业(一)指令SRC寻址方式SRC的地址AX推算值AX实际值MOVAX,[SI]MOVAX,TABLE[DI]MOVAX,[SI]+05HMOVAX,[BX][DI+01H]MOVAX,[BX][SI]+03HMOVAX,TABLE[BX][SI]MOVAX,ES:[BX][DI]MOVAX,[BP][DI+02H]MOVAX,TABLE[BP][DI]上机作业(一)指令SRC寻址方式SRC的地址AX推算值AX实际值MOVAX,ES:[BP][SI]MOVAX,[BP][SI+05H]MOVAX,03H[BP][DI]MOVAX,[BP][SI]MOVAX,[BP+02H][DI+03H]MOVAX,TABLE[BP+02H][DI+03H]上机作业(一)[5]用T命令单步运行程序,并用R命令检查AX结果,同时将结果作为实际值填入上表中,和推算值进行比较,从而检验自己对该条指令对应的寻址方式是否掌握。也可用D命令察看存贮器的内容,具体操作方法参看DEBUG使用部分。上机作业(一)在上表中,分析AX推算值与实际值有何不同?找出错误原因,小结出各种寻址方式所用的段寄存器的规律来。四.问题讨论上机作业(一)五.实验报告要求

实验名称1.实验目的2.实验仪器3.实验内容及实验程序4.实验数据及结果5.问题讨论

上机作业(二)1.

熟练掌握汇编语言程序设计的方法及上机步骤。2.

掌握算术运算指令的应用。3.

掌握子程序的设计方法。4.

掌握DOS功能的调用方法。一.实验目的二.实验仪器586微机1台程序设计练习上机作业(二)编写程序求两个十进制数之和,并将和以十进制数的形式送屏幕显示。编程要求与提示:

[1]从键盘输入两个十进制数(如12678532与21736543),以二进制数形式存放在ADD1和ADD2为首址的存贮器单元,输入一个十进制数采用子程序形式。

[2]和以二进制数的形式存入SUM以下单元。[3]将和送到屏幕显示采用子程序形式。

[4]实验步骤如下:三.实验内容上机作业(二)

a.

用全屏幕编辑软件建立源程序。b.用masm.exe汇编程序对源程序进行汇编,形成目标程序。

c.

用link.exe连接程序对目标程序进行连接形成可执行文件。d.

用DEBUG对连接通过的可执行程序进行调试。上机作业(三)有一个首地址为A的N字数组,请编程序使该数组中的数按从大到小的次序排列。编程要求及提示:

[1]参加排序的数据及个数由学生自己定义。[2]要将排序前的数组和排序后的数组在屏幕上显示出来。[3]实验步骤同作业二。上机作业(三)五.实验报告要求

实验名称1.实验目的2.实验仪器3.实验内容4.给出实验内容对应的源程序及流程5.问题讨论

上机作业(四)

1.增强和提高汇编语言程序设计的能力,掌握模块化程序设计的方法.2.熟练掌握DOS常用功能的调用方法.一.实验目的二.实验仪器586微机一台程序设计综合练习上机作业(四)编写如下程序,并在机器上调试

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论