《微机原理与接口技术》课程教案
第 11 课 次 授 课 计 划
基本内容:
第3章 8086的指令系统(5) 3.4 8086的指令集——程序控制指令、CPU控制指令
目的要求: 掌握程序控制指令和CPU 控制指令的格式、功能和应用 难 点: 程序控制指令和CPU 控制指令的应用 教学环节及组织:
复习巩固
? 位操作指令:按位操作,操作结果均影响标志位,灵活应用 ? 串操作指令:用于在存储器之间批量传送数据
强调:该类指令中隐含操作数的规定,关键参数的使用等。注意串指令中重复前缀的应用。
新课讲授
3 8086的指令系统
3.4.5程序控制指令
? 程序控制基本概念
8086/8088指令系统中有四组用于控制程序流向的指令,分别为:
转移指令、循环控制指令、过程调用指令和中断指令。
以不同的方式修改IP或CS、IP的内容(控制指令的实质),实现控制程序转移的目的。 ? 程序控制指令格式:助记符 操作数
强调:操作数用于给出要转移到的目的地址。 解释:短转移、近转移、远转移
? 无条件转移指令JMP:使程序无条件地跳转到指令中指定的目的地址去执行。
? 条件转移指令JCC:以一个标志位或几个标志位的逻辑运算结果作为依据,判断是否实现
转移。其中 “CC”表示条件。
强调:此类指令应用最灵活,特别注意条件组合关系和含义。(结合复习6个标志位含义) ? 循环控制指令LOOP:
? 控制转移的距离在-128~+127的范围内;
? 应在循环程序开始前,将循环次数送CX寄存器
? [提问]循环控制指令LOOP与条件转移指令JNZ的区别。
循环指令隐含 ( CX ) 减1操作
[例题分析]在string字符串中查找空格字符,串长度为N。分别用条件转移指令和循
环控制指令解答,提醒学生注意两者的差别之处。
? 过程调用和返回指令
? 过程调用指令CALL:同时改变CS和IP的值,才能转入该子程序执行。
过程调用可分:段内直接调用、段内间接调用、段间直接调用、段间间接调用四种。 ? 过程返回指令RET
子过程执行最后一条指令必须是返回指令,返回到调用该子程序断点处。
? 中断指令(简单介绍,在第9章中结合中断系统知识再回顾)
8086/8088指令系统中设置了在功能上类似于外部中断的操作来改变程序执行方向,调用一个类似于子程序的“中断服务程序”,这类操作叫做软件中断。 中断指令共有三条,即:INT n、INTO、IRET三种。
武汉理工大学
自动化学院
《微机原理与接口技术》课程教案
3.4.6 处理器控制类指令:完成简单的CPU控制功能,指令中不需要设置地址码。
? 标志操作指令: CLC CMC STC CLD STD CLI STI ? 其他处理器控制指令(重点掌握以下两条指令)
(1) NOP ;空操作 (2) HLT ;暂停 本章总结
? 8086的寻址方式(掌握定义、各类寻址方式中EA的计算方法)
? 立即寻址 ? 寄存器寻址 ? 直接寻址
? 寄存器间接寻址 ? 基址/变址寻址 ? 基址+变址寻址 ? 串寻址
? I/O端口寻址
? 8086指令格式和数据类型
? 8086指令集(每类指令中掌握常用指令)
? 数据传输类 ? 算术运算类 ? 逻辑运算类 ? 串操作类、 ? 程序控制类 ? 处理机控制类 ? 强调:
? 指令的学习是后续章节特别是汇编语言程序设计的基础,要认真对待;
? 指令的学习不要死记硬背,要多读(例程)多想(可否用其他指令代替)多练
课外作业及思考题
总结常用指令的格式、操作数要求、功能和应用
课 后 记 载 :
编制:黄珍
《微机原理与接口技术》课程教案
第 12 课 次 授 课 计 划
基本内容:
习题课:第1~3章作业评讲
第4章 8086汇编语言程序设计(1)
4.1 8086汇编语言的特点 4.2 8086汇编语言中的伪指令
目的要求:
复习巩固1~3章知识点 了解有关汇编的几个概念
掌握汇编语言特点、汇编语言源程序结构(重点) 掌握汇编程序的执行过程
掌握伪指令的格式、功能和使用(重点)
难 点: 伪指令在汇编程序中的使用 教学环节及组织:
作业评讲1~3章 新课引入
只有指令还不能形成程序, 指令是砖块, 程序是大厦, 如何把砖块变成大厦是我们下面要解决的问题: 指令系统-----指令应用------汇编语言——汇编源程序
新课讲授
4 8086汇编语言程序设计
基本概念
? 汇编语言:用指令助记符、符号地址、标号等书写程序的语言 ? 汇编语言源程序:用汇编语言编写的程序,也简称源程序 ? 汇编:将汇编语言源程序翻译成机器语言程序的过程 ? 汇编程序:完成汇编任务的程序,是一种计算机应用程序
? 汇编程序的执行过程
? 常用的汇编语言源程序的框架
4.1 8086汇编语言的语句
? 指令性语句:CPU执行的语句,能够生成目标代码
语句格式 [标号:] 操作码 [操作数1,] [操作数2] ;[注释] ? 指示性语句:CPU不执行,而由汇编程序执行的语句,不生成目标代码
语句格式 [标识符(名字)] 指示符(伪指令) 表达式 ? 注意存储器操作数的属性:段值属性、段内偏移量、类型属性
4.2 8086汇编语言中的伪指令(结合例题讲解)
? 符号定义伪指令:赋值伪指令EQU、等号(=)伪指令
注意区别:一个符号名用EQU只允许定义一次;等号语句可对同一符号名多次赋不同的值。 ? 数据定义伪指令(重难点)
? 数据定义伪指令用于定义变量的类型、给存储器赋初值或给变量分配存储单元 ? 常用的数据定义伪指令有DB、DW和DD等
武汉理工大学
自动化学院
《微机原理与接口技术》课程教案
? 数据表项中:问号“?”,表示仅给变量保留相应的存储单元,而不给变量赋初值 ? “DUP”表示相同的操作数重复出现。 [课堂练习]绘图说明数据段内容
? 段定义伪指令:段定义伪指令在汇编语言源程序中定义逻辑段。
? 段定义伪指令SEGMENT和ENDS:用于定义一个逻辑段。
强调:每个逻辑段以SEGMENT语句开始,以ENDS语句结束。
? 指定段址伪指令ASSUME:用于指定段寄存器与某个逻辑段建立对应关系。 ? 过程定义伪指令PROC和ENDP
? 具有一定功能的程序段设计成一个子程序,汇编程序用 “过程”来构造子程序 ? 过程的最后一条语句必须为RET,用于返回主程序
? 过程以PROC语句开始,以ENDP语句结束。 ? 定位伪指令ORG和当前位置计数器$
? ORG用来指定在它之后的程序段或数据块所存放的单元起始地址的偏移量。
? 当前地址计数器‘$’表示当前地址,即地址计数器的值。(非常实用,注意例程) 综合例题分析:用程序实现 1234H + 5678H
注意:例题分析重在给学生建立汇编语言源程序的框架概念,分析伪指令的功能和应用 小结
汇编语言源程序采用分段式结构,一个汇编语言源程序由若干个逻辑段组成,每个逻辑段以SEGMENT语句开始,以ENDS语句结束,整个源程序以END语句结束(表示结束汇编)。
伪指令本身不会产生可执行的机器指令代码,它仅仅是告诉汇编程序有关源程序的某些信息,或者用来说明内存单元的用途。伪指令在汇编过程中由汇编程序进行处理。
汇编语言源程序的结构是学习编程的根本, 伪指令的使用则能使编程更方便更简洁, 这两者都是继续学习的基础。
课外作业及思考题
阅读课本4.2 8086汇编语言中的伪指令部分,重点掌握数据定义伪指令。
课 后 记 载 :
编制:黄珍
相关推荐: