微机原理上机实验作业.ppt

上传人:本田雅阁 文档编号:2155704 上传时间:2019-02-23 格式:PPT 页数:84 大小:10.71MB
返回 下载 相关 举报
微机原理上机实验作业.ppt_第1页
第1页 / 共84页
微机原理上机实验作业.ppt_第2页
第2页 / 共84页
微机原理上机实验作业.ppt_第3页
第3页 / 共84页
亲,该文档总共84页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《微机原理上机实验作业.ppt》由会员分享,可在线阅读,更多相关《微机原理上机实验作业.ppt(84页珍藏版)》请在三一文库上搜索。

1、4.5 汇编语言程序设计 上机步骤与调试方法,一.上机环境,硬件,系统软件,应用软件,操作系统:DOS系统 编辑器: EDIT.exe 编程序: MASM.exe 连接程序:LINK.exe 调试程序:DEBUG.exe,用户程序:ABC.exe等,CPU、存储器(ROM、RAM)、I/O接口、输入、输出设备,二.上机步骤, D:EDIT ABC.ASM D:MASM ABC.ASM; 有语法错,回EDIT下改源程序 D:LINK ABC.OBJ; 有错,回在EDIT下改源程序 D:ABC 运行结果错,回EDIT下改源程序 或在DEBUG下调试,找原因。 D:DEBUG ABC.exe,点击“

2、运行”,三.具体操作步骤举例,第一步,COMMAND,三.具体操作步骤举例,DOS提示符,三.具体操作步骤举例,进入EDIT编辑环境,三.具体操作步骤举例,第二步,三.具体操作步骤举例,编辑源程序,三.具体操作步骤举例,编辑完后,准备存盘,三.具体操作步骤举例,另存为,三.具体操作步骤举例,三.具体操作步骤举例,三.具体操作步骤举例,退出EDIT环境,三.具体操作步骤举例,对源程序进行汇编,第三步,三.具体操作步骤举例,重新进入EDIT,打开源程序,进行改错,三.具体操作步骤举例,类型不明确,两存储器单元之间不能直接传送数据,三.具体操作步骤举例,三.具体操作步骤举例,重新汇编,三.具体操作步

3、骤举例,对目标文件进行连接,第四步,三.具体操作步骤举例,目标文件名,三.具体操作步骤举例,用DEBUG对可执行文件进行调试,第五步,三.具体操作步骤举例,DEBUG提示符,用R命令显示各寄存器内容,三.具体操作步骤举例,用U命令反汇编,三.具体操作步骤举例,用T命令单步执行一条指令,三.具体操作步骤举例,三.具体操作步骤举例,用D命令显示存储器单元内容,三.具体操作步骤举例,三.具体操作步骤举例,三.具体操作步骤举例,三.具体操作步骤举例,三.具体操作步骤举例,三.具体操作步骤举例,三.具体操作步骤举例,三.具体操作步骤举例,三.具体操作步骤举例,三.具体操作步骤举例,用Q命令退出DEBUG

4、,三.具体操作步骤举例,三.具体操作步骤举例,用G命令设置断点,连续(全速)运行程序的调式方法,三.具体操作步骤举例,用G命令连续执行到断点处,三.具体操作步骤举例,用D命令显示存储器单元内容,三.具体操作步骤举例,用G命令连续执行到断点处,三.具体操作步骤举例,用D命令显示存储器单元内容,三.具体操作步骤举例,用N命令命名,用L命令装入程序,DEBUG装入用户可执行文件的另一种方法,三.具体操作步骤举例,三.具体操作步骤举例,三.具体操作步骤举例,三.具体操作步骤举例,用D命令显示存储器单元内容,DEBUG常用命令汇总表(一),DEBUG常用命令汇总表(二),DEBUG常用命令汇总表(三),

5、本章要点及复习重点,4.1 汇编语言基础 1.掌握机器语言、机器语言程序、汇编语言、 汇编语言源程序、汇编、汇编程序等概念。 2.掌握汇编语言中表达式,特别是属性表达式 及属性修改操作符PTR的应用。 3.熟练掌握DB、DW、DD变量定义伪指令的应用 会画出变量定义语句汇编后的存储器分配示 意图。,本章要点及复习重点,4.2 8086指令系统 1.数据传送类指令 掌握MOV、XCHG、LEA、XLAT、PUSH、POP等指 令的应用。 2.算术运算类指令 掌握加法(ADD、ADC、INC)、减法(SUB、SBB、 DEC、NEG、CMP)、乘法、除法、BCD数调整 (DAA)等指令的应用及对标

6、志位的影响。,本章要点及复习重点,3.掌握逻辑运算类指令(AND、OR、XOR、NOT、 TEST)的应用及对标志位的影响。 4.掌握移位指令(SHL、SHR、SAL、SAR)、循环移 位指令(ROL、ROR、RCL、RCR)等指令的应用。,本章要点及复习重点,4.3 汇编语言程序设计 1.掌握汇编语言程序设计步骤。 2.熟练掌握汇编语言源程序的完整结构及相应 的伪指令的意义。 3.掌握分支程序设计时应注意的几个问题,会设 计简单的分支程序。 4.掌握循环程序的基本结构及循环程序的设计, 会用气泡排序法进行二重循环程序设计。,本章要点及复习重点,5.掌握子程序设计时的几个问题,包括:,子程序的

7、定义方法 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等命令的功能及使用方法 。,上机作

8、业(一),1. 熟练掌握8086/8088的各种寻址方式及应用。 2. 掌握DEBUG调试程序中的一些常用命令的使用方法,为以后的实验打下基础。,一.实验目的,二.实验仪器,586微机 1台,寻址方式练习,上机作业(一),1 关于数据的寻址方式练习 8086/8088 提供多种方式实现操作数寻址,大体可分为7种: a. 立即寻址 b. 寄存器寻址 c. 直接寻址 d. 寄存器间接寻址 e. 寄存器相对寻址 f. 基址变址寻址 g. 基址变址且相对寻址,三.实验内容,a-b要寻找的操作数与存储器无关。,c-g要寻找的操作数在存贮器某单元,存贮器单元的地址由寻址方式确定。,上机作业(一),掌握80

9、86/8088的这些寻址方式,是学习汇编语言编程的关键。因此,我们编写了下面的程序段,以数据传送指令为例,列举了部份寻址方式,请同学们按下列要求认真完成。 1 在全屏幕编辑软件下,建立以下汇编语言源程序。,上机作业(一),STACK SEGMENT STACK DB 0B0H, 0B1H, 0B2H, 0B3H, 0B4H, 0B5H, 0B6H, 0B7H, DB 0B8H, 0B9H DB 0BAH, 0BBH, 0BCH, 0BDH, 0BEH, 0BFH DB 10H DUP(00) STACK ENDS DATA1 SEGMENT DB 0A0H, 0A1H, 0A2H, 0A3H

10、TABLE DW 0A5A4H DB 0A6H, 0A7H, 0A8H, 0A9H, 0AAH, 0ABH DB 0ACH, 0ADH, 0AEH, 0AFH DATA1 ENDS,上机作业(一),DATA2 SEGMENT DB 0C0H, 0C1H, 0C2H, 0C3H, 0C4H, 0C5H, 0C6H, 0C7H DB 0C8H ,0C9H, 0CAH, 0CBH, 0CCH, 0CDH, 0CEH, 0CFH DATA2 ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA1, ES:DATA2, SS:STACK START:MOV AX, DATA

11、1 MOV DS, AX MOV AX, DATA2 MOV ES, AX MOV BX, 0004H MOV CX, 0005H,上机作业(一),MOV BP, 0003H MOV SI, 0002H MOV DI, 0001H MOV AX, CX ;以下指令按后表要求完成 MOV AX, 500H MOV AX, TABLE MOV AX, ES:BX MOV AX, BX+05H MOV AX, SS:BX+03H MOV AX, TABLE BX MOV AX, 07H BX MOV AX, BP,上机作业(一),MOV AX, TABLE BP MOV AX, 08H BP MOV

12、 AX, BP+06H MOV AX, DS:BP+03H MOV AX, BP+05H MOV AX, ES: SI+03H MOV AX, DI+06H MOV AX, DI+05H MOV AX, TABLE SI MOV AX, SI MOV AX, TABLE DI MOV AX, SI+05H,上机作业(一),MOV AX, BX DI+01H MOV AX, BX SI+03H MOV AX, TABLE BX SI MOV AX, ES:BX DI MOV AX, BP DI+02H MOV AX, TABLE BP DI MOV AX, ES:BP SI MOV AX, BP

13、 SI+05H MOV AX, 03H BP DI MOV AX, BP SI MOV AX, BP+02H DI+03H MOV AX, TABLE BP+02H DI+03H MOV AH, 4CH INT 21H CODE ENDS END START,上机作业(一),2用MASM.EXE宏汇编程序对以上源程序进行汇编,其方法为: MASM 文件名.ASM ; 回车 此时,如果源程序中无语法错误,则在磁盘上形成文件名.OBJ文件。 3用LINK.EXE连接程序对文件名.OBJ文件进行连接,其方法为: LINK 文件名.OBJ ; 回车 此时,如果连接正确,则在磁盘上形成:文件名.EXE

14、可执行文件。 4 对源程序中从MOV AX, CX开始以下所有指令按下表进行计算。,上机作业(一),上机作业(一),上机作业(一),上机作业(一),上机作业(一),5 用T命令单步运行程序,并用R 命令检查AX结果,同时将结果作为实际值填入上表中,和推算值进行比较,从而检验自己对该条指令对应的寻址方式是否掌握。也可用D命令察看存贮器的内容,具体操作方法参看DEBUG使用部分。,上机作业(一),在上表中,分析AX推算值与实际值有何不同?找出错误原因,小结出各种寻址方式所用的段寄存器的规律来。,四.问题讨论,上机作业(一),五.实验报告要求,实验名称 1实验目的 2实验仪器 3实验内容及实验程序

15、4实验数据及结果 5. 问题讨论,上机作业(二),1 熟练掌握汇编语言程序设计的方法及上机步骤。 2 掌握算术运算中,十进制数调整指令的应用。 3 掌握子程序的设计方法。 4 掌握DOS功能的调用方法。,一.实验目的,二.实验仪器,586微机 1台,程序设计练习,上机作业(二),1编写求十进制数12678532与21736543之和的程序,并将和以十进制数的形式送屏幕显示。 编程要求与提示: 1 两个加数均以压缩(组合)十进制数形式存放在ADD1和ADD2为首址的存贮器单元。 2 和以压缩十进制数的形式存入SUM以下单元。 3 将和送到屏幕显示部分功能的实现采用子程序的形式。 4 实验步骤如下

16、:,三.实验内容,上机作业(二),a. 用全屏幕编辑软件建立源程序。 b用masm.exe汇编程序对源程序进行汇编,形成目标程序。 c. 用link.exe连接程序对目标程序进行连接形成可执行文件。 d. 用DEBUG对连接通过的可执行程序进行调试。,上机作业(二),2有一个首地址为A的N字数组,请编程序使该数组中的数按从大到小的次序排列。 编程要求及提示: 1 参加排序的数据及个数由学生自己定义。 2 要将排序前的数组和排序后的数组在屏幕上显示出来。 3 实验步骤同内容一。,上机作业(二),1在以十进制数形式参加运算的程序设计中,应注意那些问题。 2总结循环程序设计的步骤及方法。,四.问题讨

17、论,上机作业(二),五.实验报告要求,实验名称 1实验目的 2实验仪器 3实验内容 4给出实验内容对应的源程序及流程 5. 问题讨论,上机作业选作题,1.增强和提高汇编语言程序设计的能力,掌握模块化程序设计的方法. 2.熟练掌握DOS常用功能的调用方法.,一.实验目的,二.实验仪器,586微机 一台,程序设计综合练习,上机作业选作题,编写如下程序,并在机器上调试成功。程序采用菜单式选择,可以接收用户从键盘输入的五个命令(1-5),各命令功能分别为: (1)按下“1”键,完成字符串小写字母变成大写字母。 用户输入一由英文大小写字母或数字0-9组成的字符串(以回车结束),程序逐个检查字符串中各字符

18、,将原串中小写字母变成大写字母,其他字符不变,并在屏幕上显示。用户按任一键,重做,按ESC键,返回主菜单。,三.实验内容,上机作业选作题,(2)按下“2”键,完成找最大值(二选一)。 a.接收用户输入的可显示字符串(以回车结束),程序将其中ASCII码值最大的字符显示出来; b.接收用户输入若干个无符号8位数(以空格或逗号为分隔符,以回车结束),程序将其中最大的数显示出来。用户按任一键,重做,按ESC键,返回主菜单。,上机作业选作题,(3)按下“3”键,完成排序(二选一)。 a.接收用户输入的可显示字符串,以回车结束。程序按ASCII码值大小由大到小排序并输出显示; b.接收用户输入若干个有符号8位数(以空格或逗号为分隔符,以回车结束),程序将其中最大的数显示出来。用户按任一键,重做,按ESC键,返回主菜单。,上机作业选作题,(4)按下“4”键,显示时间。 首先提示用户对时,即用户输入时、分、秒(以空格或逗号为分隔符,以回车结束),然后,在屏幕上不断显示时间,格式为: XX(时): XX(分): XX(秒) 最好定点显示。用户按任一键,重新对时,按ESC键,返回主菜单。 (5)按下“5”键,结束程序运行,返回系统提示符。,上机作业选作题,四.实验报告要求,实验名称 1实验目的 2实验仪器 3实验内容 4给出实验内容对应的源程序及流程 5. 实验体会,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1