微机原理上机实验材料_第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.ASMD:MASMABC.ASM;有语法错,回EDIT下改源程序D:LINKABC.OBJ;有错,回在EDIT下改源程序D:ABC运行结果错,回EDIT下改源程序或在DEBUG下调试,找原因。D:DEBUGABC.exe,点击“运行”,三.具体操作步骤举例,第一步,COMMAND,三.具体操作步骤举例,DOS提示符,三.具体操作步骤举例,进入EDIT编辑环境,三.具体操作步骤举例,第二步,三.具体操作步骤举例,编辑源程序,三.具体操作步骤举例,编辑完后,准备存盘,三.具体操作步骤举例,另存为,三.具体操作步骤举例,三.具体操作步骤举例,三.具体操作步骤举例,退出EDIT环境,三.具体操作步骤举例,对源程序进行汇编,第三步,三.具体操作步骤举例,重新进入EDIT,打开源程序,进行改错,三.具体操作步骤举例,类型不明确,两存储器单元之间不能直接传送数据,三.具体操作步骤举例,三.具体操作步骤举例,重新汇编,三.具体操作步骤举例,对目标文件进行连接,第四步,三.具体操作步骤举例,目标文件名,三.具体操作步骤举例,用DEBUG对可执行文件进行调试,第五步,三.具体操作步骤举例,DEBUG提示符,用R命令显示各寄存器内容,三.具体操作步骤举例,用U命令反汇编,三.具体操作步骤举例,用T命令单步执行一条指令,三.具体操作步骤举例,三.具体操作步骤举例,用D命令显示存储器单元内容,三.具体操作步骤举例,三.具体操作步骤举例,三.具体操作步骤举例,三.具体操作步骤举例,三.具体操作步骤举例,三.具体操作步骤举例,三.具体操作步骤举例,三.具体操作步骤举例,三.具体操作步骤举例,三.具体操作步骤举例,用Q命令退出DEBUG,三.具体操作步骤举例,三.具体操作步骤举例,用G命令设置断点,连续(全速)运行程序的调式方法,三.具体操作步骤举例,用G命令连续执行到断点处,三.具体操作步骤举例,用D命令显示存储器单元内容,三.具体操作步骤举例,用G命令连续执行到断点处,三.具体操作步骤举例,用D命令显示存储器单元内容,三.具体操作步骤举例,用N命令命名,用L命令装入程序,DEBUG装入用户可执行文件的另一种方法,三.具体操作步骤举例,三.具体操作步骤举例,三.具体操作步骤举例,三.具体操作步骤举例,用D命令显示存储器单元内容,DEBUG常用命令汇总表(一),DEBUG常用命令汇总表(二),DEBUG常用命令汇总表(三),本章要点及复习重点,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,0003HMOVSI,0002HMOVDI,0001HMOVAX,CX;以下指令按后表要求完成MOVAX,500HMOVAX,TABLEMOVAX,ES:BXMOVAX,BX+05HMOVAX,SS:BX+03HMOVAX,TABLEBXMOVAX,07HBXMOVAX,BP,上机作业(一),MOVAX,TABLEBPMOVAX,08HBPMOVAX,BP+06HMOVAX,DS:BP+03HMOVAX,BP+05HMOVAX,ES:SI+03HMOVAX,DI+06HMOVAX,DI+05HMOVAX,TABLESIMOVAX,SIMOVAX,TABLEDIMOVAX,SI+05H,上机作业(一),MOVAX,BXDI+01HMOVAX,BXSI+03HMOVAX,TABLEBXSIMOVAX,ES:BXDIMOVAX,BPDI+02HMOVAX,TABLEBPDIMOVAX,ES:BPSIMOVAX,BPSI+05HMOVAX,03HBPDIMOVAX,BPSIMOVAX,BP+02HDI+03HMOVAX,TABLEBP+02HDI+03HMOVAH,4CHINT21HCODEENDSENDSTART,上机作业(一),2用MASM.EXE宏汇编程序对以上源程序进行汇编,其方法为:MASM文件名.ASM;回车此时,如果源程序中无语法错误,则在磁盘上形成文件名.OBJ文件。3用LINK.EXE连接程序对文件名.OBJ文件进行连接,其方法为:LINK文件名.OBJ;回车此时,如果连接正确,则在磁盘上形成:文件名.EXE可执行文件。4对源程序中从MOVAX,CX开始以下所有指令按下表进行计算。,上机作业(一),上机作业(一),上机作业(一),上机作业(一),上机作业(一),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-5),各命令功能分别为:(1)按下“1”键,完成字符串小写字母变成大写字母。用户输入一由英文大小写字母或数字0-9组成的字符串(以回车结束),程序逐个检查字符串中各字符,将原串中小写字母变成大写字母,其他字符不变,并在屏幕上显示。用户按任一键,重做,按ESC键,返回主菜单。,三.实验内容,上机作业(四),(2)按下“2”键,完成找最大值(二选一)。a.接收用户输入的可显示字符串(以回车结束),程序将其中ASCII码值最大的字符显示出来;b.接收用户输入若干个无符号8位数(以空格或逗号为分隔符,以回车结束),程序将其中最大的数显示出来。用户按任一键,重做,按ESC键,返回主菜单。,上机作业(四),(3)按下“3”键,完成排序(二选一)。a.接收用户输入的可显示字符串,以回车结束。程序按ASCII码值大小由大到小排序并输出显示;b.接收用户输入若干个有符号8位数(以空格或逗号为分隔符,以回车结束),程序将其中最大的数显示出来。用户按任一键,重做,按ESC键,返回主菜单。,上机作业(四),(4)按下“4”键,显示时间。首先提示用户对时,即用户输入时、分、秒(以空格或逗号为分隔符,以回车结束),然后,在屏幕上不断显示时间,格式为:XX(时):XX(分):XX(秒

温馨提示

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

评论

0/150

提交评论