




已阅读5页,还剩79页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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,点击“运行”,三.具体操作步骤举例,第一步,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.2 8086指令系统 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 在全屏幕编辑软件下,建立以下汇编语言源程序。,上机作业(一),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 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, DATA1 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 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 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 可执行文件。 4 对源程序中从MOV AX, CX开始以下所有指令按下表进行计算。,上机作业(一),上机作业(一),上机作业(一),上机作业(一),上机作业(一),5 用T命令单步运行程序,并用R 命令检查AX结果,同时将结果作为实际值填入上表中,和推算值进行比较,从而检验自己对该条指令对应的寻址方式是否掌握。也可用D命令察看存贮器的内容,具体操作方法参看DEBUG使用部分。,上机作业(一),在上表中,分析AX推算值与实际值有何不同?找出错误原因,小结出各种寻址方式所用的段寄存器的规律来。,四.问题讨论,上机作业(一),五.实验报告要求,实验名称 1实验目的 2实验仪器 3实验内容及实验程序 4实验数据及结果 5. 问题讨论,上机作业(二),1 熟练掌握汇编语言程序设计的方法及上机步骤。 2 掌握算术运算中,十进制数调整指令的应用。 3 掌握子程序的设计方法。 4 掌握DOS功能的调用方法。,一.实验目的,二.实验仪器,586微机 1台,程序设计练习,上机作业(二),1编写求十进制数12678532与21736543之和的程序,并将和以十进制数的形式送屏幕显示。 编程要求与提示: 1 两个加数均以压缩(组合)十进制数形式存放在ADD1和ADD2为首址的存贮器单元。 2 和以压缩十进制数的形式存入SUM以下单元。 3 将和送到屏幕显示部分功能的实现采用子程序的形式。 4 实验步骤如下:,三.实验内容,上机作业(二),a. 用全屏幕编辑软件建立源程序。 b用masm.exe汇编程序对源程序进行汇编,形成目标程序。 c. 用link.exe连接程序对目标程序进行连接形成可执行文件。 d. 用DEBUG对连接通过的可执行程序进行调试。,上机作业(二),2有一个首地址为A的N字数组,请编程序使该数组中的数按从大到小的次序排列。 编程要求及提示: 1 参加排序的数据及个数由学生自己定义。 2 要将排序前的数组和排序后的数组在屏幕上显示出来。 3 实验步骤同内容一。,上机作业(二),1在以十进制数形式参加运算的程序设计中,应注意那些问题。 2总结循环程序设计的步骤及方法。,四.问题讨论,上机作业(二),五.实验报告要求,实验名称 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.接收用户输入若干个有符
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 药厂qa考试题及答案
- 安卓应用系统试题及答案
- 图书馆综合素养培养方法试题及答案
- 教师资格考试发展性评估题及答案
- 药剂行业职业素养试题及答案
- 系统规划与管理师笔试常见易错点试题及答案
- 心理学课程试题及答案
- 教师资格考试中的教学观察与反馈技巧试题及答案
- 激光技术考试备考资料
- 药物经济学分析考试试题及答案
- 最难理解的V型滤池!90秒全面掌握构造和工作原理
- 新发展大学英语听力教程 2(全新修订版)答案及听力原文
- 第6课《现代科技进步与人类社会发展》课件-高中历史统编版(2019)选择性必修二经济与社会生活
- CO变换工艺发展过程及趋势
- 北师大版数学六年级下册-总复习课件(精编版)
- 设备检修登记表
- 高等数学上册ppt课件完整版
- 青霉素过敏性休克抢救
- 应用型人才核心素养总体框架(模板)
- 新时期当好社会组织秘书长的若干思考课件
- 太阳能电池的特性完整课件
评论
0/150
提交评论