资源描述
《微机原理与接口技术》课程教案
第1课次授课计划
基本内容:
① 课程性质及内容介绍、先修课程及参考书目
② 第1章 计算机基础知识(1)
1。1绪论1。2计算机的发展概述1。3 微机中信息的表示及运算基础
目的要求:
明确本课程的学习目的及要求、激发学习微机原理与接口的兴趣与热情,
初步了解本课程的特点及学习方法;
了解计算机发展历史;
熟练掌握无符号数和带符号数的表示方法;
掌握各种进制间的互换;(重点)
掌握数的原码、反码、补码表示法,并熟练掌握补码加减运算。(重点)
难 点:
补码加减法运算;
有符号数和无符号数溢出判断 .
教学环节及组织:
新课引入
课程性质:该课程属计算机硬件基础课程,是学习微机组装、单片机应用开发、微机控制等课程的前序基础课。
课程内容:微机的基本结构;指令系统及汇编语言;存储器结构及工作原理;I/O接口及应用;可编程芯片及应用.
学习方法:首先掌握微型计算机的基本原理,熟记其指令系统用指令和应用指令编写程序;掌握I/O接口的基本结构和接口应用;理论结合实际,多上机多编程,在应用中学习.
新课讲授
1 计算机基础知识
1。2 计算机发展概述
从1946年世界上第一台电子数字计算机ENIAC问世至今,计算机的发展主要经历了电子管、晶体管、小规模集成电路、大规模(LSI)和超大规模(VSLI)集成电路四个发展阶段,从1981年起进入智能计算机阶段。
Ø 微处理器及微型计算机的发展
4位及低档8位→中高档8位→16位→32位→高档32位→64位(主要体现在位数的变化)
Ø 微型计算机的组成
微型计算机通常由微处理器(即CPU)、存储器(ROM,BAM)、I/O接口电路及系统总线(包括地址总线AB、数据总线DB、控制总线CB)组成。
Ø 计算机编程语言的发展。介绍各编程语言的特点,本门课程主要学习汇编语言.
1。3计算机中信息的表示及运算基础
Ø 计算机中的数和编码系统
Ø 计算机中的进位计数制
² 进位计数制的基本概念
u 课堂讨论:为什么要使用二进制和十六进制,各进制间是否可以相互转换?
² 四种不同进制数(二、八、十、十六进制)的相互转换(课堂练习)
Ø 计算机中带符号数的表示
² 原码、反码和补码的表示方法
² 原码、反码和补码之间的转换
u 课堂练习
Ø 补码加减运算
² 补码加减运算规则 [X±Y]补=[X] 补±[Y] 补
u 例题分析
[例1]X=—0110100B,Y=+1110100B,求X+Y=?
[例2]X=—56,Y=—17,求X—Y=?
u 通过例题强调:运算完后要先判断结果的正负,结果若为负数,则需进行变补运算才能得到结果的真值.即[X±Y]原[[X±Y]补]补
Ø 溢出判断
u 例题分析
[例3]X=—62H,Y=—3BH,求X+Y=?
[例4]X=-1FH,Y=—4AH,求X+Y=?
² 溢出和进位的区别,
² 溢出判断标准:若最高进位⊕次高位进位=1,则结果产生溢出。
小结
1)主要介绍了计算机的发展以及计算机的基础知识。
2)要求掌握:二、十、十六进制的相互转换,无符号数、带符号数、真值、机器数的区别,原码、反码、补码、真值之间的相互转换方法,补码加减运算,进位和溢出的概念。
课外作业及思考题
1) 阅读分析课本第1章[例1—12]~[例1-19];
2) 课后练习2~6题自行练习.
课后 记 载 :
第2课次授课计划
基本内容:
第1章 计算机基础知识(2)
1。3 微机中信息的表示及运算基础
第2章 8086体系结构(1)
2。1 8086 CPU结构(内部结构)
目的要求:
掌握二-十进制数的表示(BCD数);
掌握二—十进制数的加减运算;(重点)
掌握字符的编码(ASCII码);
理解数的定点和浮点表示;
掌握8086微处理器的基本结构和工作原理.
难 点:
二—十进制数(BCD数)的加减运算结果调整
教学环节及组织:
复习巩固
Ø 计算机中的数和编码系统
Ø 计算机中的进位计数制及进制间的转换
Ø 计算机中带符号数的表示:原、反、补码的表示和转换
Ø 补码加减运算:[X±Y]补=[X] 补±[Y] 补
Ø 溢出判断:若最高进位⊕次高位进位=1,则结果产生溢出。
新课讲授
1 计算机基础知识
1。3计算机中信息的表示及运算基础
Ø 二—十进制数(BCD数)
² 二—十进制数的表示:用四位二进制数表示一位十进制数.
² 二-十进制数的加减运算
u 课堂讨论:
例题中BCD数运算结果为什么不再是BCD数?为什么与十进制结果不符?
u 通过例题讨论,分析结果不一致的原因:
BCD数在计算机中按十六进制运算“逢十六进一”,而十进制为“逢十进一”.
若要BCD数运算中仍保有十进制的“逢十进一”的效果,则对运算结果需进行调整。
² 二—十进制数的加减运算调整原则
加法调整规则:
(1)若二进制和小于10,则保持不变化。
(2)若二进制和大于等于10,或有进位,则和数应加6修正。
减法调整规则:
(1)若相减不发生借位,则减法直接进行。
(2)若相减低位向高位发生借位,则低位应减6修正。
u 课堂练习:用BCD码计算94+7=101
Ø 字符的编码(ASCII码)
² 目前微机中应用最普遍的美国标准信息交换码
² 常用字符ASCII码:
回车0DH/ 换行0AH/ 0~9(30H~39H)/ a~z(61H~7AH)/ A~Z(41H~5AH)
Ø 数的定点和浮点表示
² 定点表示:小数点在数中的位置固定。运算简便,表示范围小。
定点整数表示范围:2n—1—1定点小数表示范围:1-2-n
² 浮点表示:小数点位置不固定。表示范围大,运算复杂.
2 8086体系结构
从前续课程学习已经知道计算机的基本结构,从而可知微机的基本结构有运算器、控制器和存储器等,这些器件又是怎样构成微型计算机的以及怎样在CPU的指挥下工作的?这就是本节课要解决的间题.
2。1 8086 CPU结构
初步认识: 8086是16位微处理器,数据总线16位,地址总线20位(寻址范围1M),40脚双列直插组件封装.
u 课堂提问:计算机系统的三总线结构是哪三种总线?——数据总线、地址总线、控制总线
Ø 8086 CPU 的内部结构(基于图2。1 8086 CPU的内部结构框图讲解)
² BIU(Bus Interface Unit总线接口部件):实现CPU与存储器或I/O口间数据传送
组成:1个20位地址加法器、 专用寄存器组(段寄存器和指令指针寄存器等)、
指令队列、 总线控制逻辑
² EU(Execution Unit指令执行部件):主要功能是执行指令
组成:算术逻辑运算单元ALU 、 1个16位标志寄存器FLAGS、
1个数据暂存寄器、8个通用16位寄存器组、EU控制器
Ø 8086 CPU 的工作原理
² 与一般CPU工作原理对比,解释流水线技术
² 动画演示8086 CPU流水线工作过程
小结
1)主要介绍了计算机中常用的编码方式:BCD、ASCII
2)要求掌握:BCD数的表示、加减运算,以及常用字符的ASCII码
3)主要学习了Intel 8086/8088 微处理器基本结构和工作原理
课外作业及思考题
1) 课后练习7~10题 自行练习;
2) 预习:8086CPU 的寄存器结构(思考题-课后习题3、4)
课后 记 载 :
第3课次授课计划
基本内容:
第2章 8086体系结构(1)
2。18086 CPU结构(内部结构+寄存器结构+管脚与功能)
目的要求:
熟练掌握8086 CPU内部寄存器组的定义及用法;(重点)
基本掌握8086微处理器管脚的功能;
熟练掌握物理地址/逻辑地址的概念;(重点)
掌握存储器结构和分段的意义;
熟练掌握物理地址的形成方式;(重点)
难 点:
8086 CPU内部寄存器组的定义及用法;
堆栈段的使用
教学环节及组织:
复习巩固
Ø 第1章课堂作业评讲
1.下列无符号数中最大的数是C. 错解:D(2人)
A。 (98)16 B。 (152)10 C。 (10011001)2 D.(227)8
2.二进制数10.11101B写成浮点数形式是D。 错解:A(2人)、B(1人)
A。 1011101×10-5 B。 1011101×2—1000
C。 1。011101×10+1 D。 1。011101×2+0001
3。 设x=-46,y=117,则[x-y]补和[x+y]补分别等于B. 错解:D(2人)
A。D2H和75H B。5DH和47H
C.2EH和71H D。47H和71H
4.补码表示的8位二进制有符号数表示的数值范围是D。 错解:A(3人)、C(14人)
A. 0~255 B。 0~256 C. —127~127 D。 —128~127
5 .利用二进制补码完成有符号数加法运算:(16)+(-32)
[16]补=0 0010000B [—32]原=1 0100000B [-32]补=1 1100000B
所以: [16-32]补= [16]补+ [—32]补 =0 0010000B +1 1100000B=1 1110000B
(16)+(—32)=[1 1110000B]补=1 0010000B=—16
出错之处:
1)直接用原码相加;2)原反补码求取出错;3)纯计算错误;4)没有结论
第2章内容回顾
Ø 8086 CPU的内部结构:BIU+EU (功能和组成)
Ø 8086 CPU的流水线工作方式
新课讲授
2 8086体系结构
2。1 8086 CPU结构
Ø 8086 CPU的寄存器结构
注意强调
² 16位的AX/BX/CX/DX也可拆成两个8位的寄存器使用;
² 初步介绍存储器的分段存储的概念,由此给出段首地址和偏移地址的概念,帮助理解段寄存器和地址寄存器的功能;
² 寄存器存在“隐含寻址”的概念,即要记住寄存器和对应的段首地址寄存器,这是后面学习指令寻址的基础.
² IP用来存放将要执行的下一条指令(不是当前指)在代码段中的偏移地址。具有自动加1功能。
u 课堂练习:巩固牢记标志寄存器各位的含义.
Ø 8086 CPU的管脚与功能
² 两种工作模式:最大模式、最小模式
² 40个引脚,32个引脚功能固定,8个引脚随工作模式不同含义不同
2.2 8086系统的结构和配置
Ø 8086存储器结构
² 常识:存储空间以字节为单位,一个字节分配一个唯一的20位物理地址
两个连续的字节称为一个字,低地址对应低字节,高地址对应高字节
u 课堂讨论:什么是段?为什么要分段
由于8086可以寻址20位地址空间,所以字或字节必须表示成20位的二进制。但是8086设计是用来执行16位计算的,它只能处理16位长的字。所以必须设计一个巧妙的方法来表示地址——-—存储器分段。
u 20位物理地址的形成.物理地址PA=段基址×16 + 偏移地址
² 堆栈段的使用
强调:以字为单位进行出入栈的操作,工作方式为“先进后出”.
课堂练习、分析
小结
1)重点掌握:8086微处理器的寄存器结构,特别是标志寄存器的取值和寄存器组的组成和作用。
2)重点掌握:8086存储器分段、20位物理地址的形成、
课外作业及思考题
1) 要求牢记8086CPU内部寄存器的名字、基本用法(这是学习汇编编程的基础)
课后 记 载 :
第4课次授课计划
基本内容:
第2章 8086体系结构(2)
2.28086系统的结构和配置(存储器结构)
目的要求:
基本掌握8086微处理器管脚的功能;
了解最大及最小模式下管脚的不同定义;
熟练掌握物理地址/逻辑地址的概念;(重点)
掌握存储器结构和分段的意义;
熟练掌握物理地址的形成方式;(重点)
掌握8086 CPU访问存储器的方式;(重点)
掌握堆栈段的使用.(重点)
难 点:
存储器的组成:偶地址体、奇地址体
8086 CPU访问存储器的方式;
堆栈段的使用
教学环节及组织:
复习巩固
Ø 8086 CPU的内部结构:BIU+EU
Ø 8086 CPU的寄存器结构
Ø 8086 CPU的管脚:40个
前次作业课堂评讲1、3、4(特别提醒注意第4题(2)小题考虑周全)
新课讲授
2 8086体系结构
2。1 8086 CPU结构
Ø 8086 CPU 的管脚
u 讲清楚地址/数据线复用的问题,强调不得以而为之
2。2 8086系统的结构和配置
Ø 8086存储器结构
² 常识:
存储空间以字节为单位,一个字节分配一个唯一的20位物理地址
两个连续的字节称为一个字,低地址对应低字节,高地址对应高字节
² 存储器的组成:偶数地址单元+奇数地址单元
难点分析(对照课件图分析):
① 将1MB的存储空间分成两个512KB的存储体,一个存储体中包含偶数地址单元,另一个包含奇数地址单元。两个存储体之间采用字节交叉编址方式.
② 偶数地址单元与数据总线的低8位相连,奇数地址单元与数据总线的高8位相连。
③ 地址总线A0用于区分当前访问的存储体。
² 8086 CPU访问存储体的方式
难点分析(对照课件图分析):特别注意A0和引脚的配合
由此推出“对准字”的概念:从偶地址开始的字
² 存储器的分段
u 课堂讨论:什么是段?为什么要分段
n ?
由于8086可以寻址20位地址空间,所以字或字节必须表示成20位的二进制。但是8086设计是用来执行16位计算的,它只能处理16位长的字。所以必须设计一个巧妙的方法来表示地址—-—-存储器分段。
u 20位物理地址的形成.物理地址PA=段基址×16 + 偏移地址
² 堆栈段的使用
强调:以字为单位进行出入栈的操作,工作方式为“先进后出"。
课堂练习、分析
小结
1)主要学习了Intel 8086存储器的组成和工作原理
2)重点掌握:8086存储器分段、20位物理地址的形成、CPU对存储器的访问方式。
课外作业及思考题
1) 思考:段地址、偏移地址、物理地址的含义和相互关系
2) 课后习题6、13、14
课后 记 载 :
第5课次授课计划
基本内容:
第2章 8086体系结构(3)
2。2 8086系统的结构和配置(输入/输出结构、最大和最小模式系统)
2。3 8086 CPU内部时序
目的要求:
了解8086输入/输出结构;
理解最大和最小工作模式应用场合;
掌握最小工作模式的系统典型配置;(重点)
熟练掌握时序基本概念;(重点)
掌握最小模式下读写总线周期时序。
难 点:
各种工作时序的分析
教学环节及组织:
复习巩固
Ø 存储器的组成:
以字节为单位,1M存储空间分为偶地址体+奇地址体.以偶地址开始的字称为“对准字”。
Ø 存储器的分段:可分为若干个逻辑段(容量不大于64KB)
Ø 逻辑地址和物理地址:物理地址(20位)=段基址(16位)×16 + 偏移地址(16位)
Ø 堆栈段的使用:以字为单位,遵循“先进后出”的原则
新课讲授
2 8086体系结构
2。2 8086系统的结构和配置
Ø 8086 输入/输出结构
² 简单介绍CPU要通过接口与外设实现输入/输出,外设地址的编制方法和访问指令。
² 此部分内容不展开,到第5、6章深入学习.
Ø 8086 的最小和最大模式系统
² 最大、最小模式应用场合
² 结合课件中的图分析最小、最大模式下系统典型配置.最下模式重点讲。
u 重点强调:地址锁存器的作用
8086 CPU的地址/数据引脚复用,利用地址锁存器才能分离数据和地址信号。
2.3 8086 CPU的内部时序
Ø 时序基本概念
² 时钟周期(状态周期):CPU的最小定时单位,由系统时钟的频率确定。若8086的主频为10MHz,一个时钟周期为100ns
² 总线周期(机器周期):CPU从存储器或I/O口存取一个字或字节的时间。利用总线完成一次数据传送的时间
² 指令周期:完成一条指令所需要的时间,由一个或多个总线周期组成
u 各周期间的关系:时钟周期是最小时序单位,总线周期由若干时钟周期组成,指令周期包含若干总线周期(因指令功能而异)。
Ø 总线周期的时序
² 一个基本的总线周期由4个时钟周期组成,即T1、T2、T3、T4
² CPU在T3周期时钟脉冲上升沿检测READY线号,若无效则插入若干Tw周期,直至READY信号有效.
Ø 最小模式下读写总线周期时序分析
² 对照课件图进行分析。注意分析、ALE、、、READY信号的变化
本章小结
1)8086 CPU的内部结构:BIU+EU
2) 8086 CPU的寄存器结构(重点,要求熟记名字、使用)
3)8086 CPU的引脚和功能:40个,地址和数据复用
4)8086存储器结构:分段、20位物理地址的形成、CPU对存储器的访问方式
5)8086 CPU的内部时序:明确计算机是一个时序系统,重点掌握几个周期的定义和关系。
前次作业随堂评讲 6、13、14
出现的错误多为计算错误,即没有使用十六进制运算原则。
课后 记 载 :
第6课次授课计划
基本内容:
第3章 8086的指令系统(1)
3。1 8086指令的特点 3。2 8086的寻址方式 3.3 8086的指令格式及数据类型
目的要求:
了解8086指令的特点、格式
理解各种寻址方式(重点)
熟练掌握EA 有效地址的计算(重点)
难 点: EA地址的计算
教学环节及组织:
复习巩固
上一章学习了微机的基本结构和8086CPU的组成,特别是8086寄存器的组成、功能和作用,以及分段地址管理的基本原理。
新课引入
已知微机的执行过程是由程序(指令的集合)控制执行的,本章将介绍其指令的格式、功能和应用编程.
3 8086的指令系统
基本概念:指令、指令系统、程序、程序设计语言(机器语言、汇编语言和高级语言)
3.1 8086指令的特点(稍作解释)
3.3 8086的指令格式及数据类型
Ø 格式:操作码+操作数
Ø 操作数个数:单个、两个、三个(其中一个为指令隐含的)
Ø 操作数数据类型:无符号数、有符号数、ASCII码、BCD数
3。2 8086的寻址方式
Ø EA地址:组合计算的逻辑偏移地址.对应图3。1存储器地址分析
Ø 寻址方式:如何寻找8086微理器指令的操作数来源的方式
² 立即、寄存器、直接、寄存器间接、基址/变址、基址+变址、串、I/O端口寻址
² 重点讲解结合例题和图分析讲解各寻址方式的含义,EA地址的计算
² 课堂练习 课后习题 1
小结:主要介绍了8086的指令系统、指令格式,重点掌握各寻址方式的特点和EA的计算。
课外作业及思考题
1) 牢记各种寻址方式,思考访问存储器的寻址方式有哪几种?
2) 课后习题 2
课后 记 载 :
第7课次授课计划
基本内容:
第3章 8086的指令系统(2)3。4 8086的指令集——数据传送指令
目的要求: 了解数据传送指令的概念,掌握其寻址方式
难 点: 数据传送指令的应用及EA地址的计算
教学环节及组织:
复习巩固
Ø 微机指令的基本结构,作用
Ø 寻址方式:定义,寻址方式的分类、特点、EA的计算。
新课讲授
3 8086的指令系统
3。4。1数据传送指令(结合例题讲解)
功能:数据传送指令是将数据、地址或立即数传送到寄存器或存储单元中。
这类指令不影响状态标志位,只有FLAGS的指令(SAHF和POPF)例外。
Ø 通用数据传送指令
(1)数据传送指令MOV
(2)堆栈操作指令 PUSH和POP
(3)数据交换指令XCHG
(4)字节转换指令XLAT
Ø 输入输出指令
(1)输入指令IN
(2)输出指令OUT
Ø 地址传送指令
(1)有效地址送寄存器指令LEA、OFFSET
(2)地址指针装入DS指令LDS
(3)地址指针装入ES指令LES
Ø 标志寄存器传送指令
(1)标志传送指令LAHF、SAHF
(2)标志入、出栈指令PUSHF、POPF
强调:
① 这类指令的共同特点是:将源操作数送到目的操作数。但须明确指出这类指令要求源操作数与目的操作数要有相同的属性,否则会出错.
② 强调不是所有的传送都是可行的,注意每种指令对操作数的要求。
③ 强调对堆栈的操作总是以字为单位的
数据传送指令应用实例分析
《微机原理与接口技术》课程教案
小结:掌握数据传送指令的格式、功能和应用,特别是重点掌握数据传送类指令的操作数类型和传送数据的原则.
课外作业及思考题
课后习题:5。6
课后 记 载 :
第8课次授课计划
基本内容:
第3章 8086的指令系统(3)3。4 8086的指令集——算术运算指令、逻辑运算指令
目的要求: 了解算术运算指令、逻辑运算指令的概念、功能,掌握其寻址方式
难 点: 算术运算指令操作数的要求和应用
教学环节及组织:
复习巩固
Ø 数据传送指令:定义,功能,操作数特点等。
前次作业评讲 课后习题5、6
Ø 第5题中(3)、(4)小题寻址方式的区别;
Ø 注意:MOV指令目的操作数为AX时,以EA起连续取两个字节,低地址送AL,高地址送AH。
Ø 第6题注意地址为十六进制数表示,运算时要按十六进制运算原则,否则计算出错。
新课讲授
3 8086的指令系统
3。4。2算术运算指令(结合例题讲解)
算术运算指令包括加、减、乘、除指令。
算术运算指令除符号扩展指令(CBW,CWD)外,其余指令都影响标志位。
Ø 加法指令:ADD、ADC(带进位)、INC(加1)
武汉理工大学 自动化学院
Ø 减法指令:SUB、SBB(带借位)、DEC(减1)、NEG(求补)、CMP(比较)
Ø 乘法指令:MUL(无符号数)、IMUL(带符号数)
Ø 除法指令:DIV(无符号数)、IDIV(带符号数)
Ø 符号扩展指令:CBW(字节扩展)、CWD(字扩展)
《微机原理与接口技术》课程教案
Ø 十进制数(BCD码)运算调整指令
(1)压缩型BCD码调整指令:DAA ——加法调整,DAS ——减法调整
(2)非压缩型BCD码调整指令:AAA --加法调整,AAS ——减法调整
(3)乘法调整AAM
(4)除法调整AAD
强调:
① 要注意参入运算的数据类型与指令的关系
② 要特别注意指令运算结果对标志位的影响
③ 强调有些指令的操作数是隐含的(乘除法指令)
u 课堂交流:为什么BCD码数运算要进行调整?(回顾第1章中BCD数运算)
3.4.3位操作指令
Ø 逻辑运算指令:
指令格式
指令功能
是否影响标志位
备注(重点)
NOT 目的
AND 目的,源
OR 目的,源
XOR 目的,源
目的←目的取反
目的←目的 AND 源
目的←目的 OR 源
目的←目的 XOR 源
是
源:通用寄存器、存储器、立即数
目的:通用寄存器、存储器
TEST 目的,源
目的 AND 源
是
源:8位或16位立即数
目的:通用寄存器、存储器
注意:
① 这些指令都是对操作数的每一位分别进行布尔运算,不同位之间无运算关系.
② 除了“非”指令对状态标志位不产生影响外,其余四条指令对状态标志位均有影响.
③ 指令根据各自逻辑运算的结果影响SF、ZF和PF状态标志位,同时将CF和OF置“0”,但AF的值不确定。
Ø 逻辑运算指令的应用
常用于使操作数的某位为0或1, 或测试某位为0还是1。
u 使某位为1 用该位与1 相或,不变的位与0或。(OR指令)
u 使某位为0 用该位与0 相与,不变的位与1与。(AND指令)
u 使某位求反用该位与1 异或,不变的位与0异或。(XOR指令)
u NOT指令可使某个数据求得反码,再加1便得到补码.
u 使某寄存器清零XOR指令中源数据和目标数据相同,可使该寄存器清零。
u 测试某位的值用TEST指令,据标志判断某位的值.
小结:
加法指令和减法指令的格式、操作数类型以及对标志寄存器的影响,特别注意比较指令,加1 和减1指令的用法,带进位加法指令和带借位减法指令的用法.
乘除法指令对操作数的规定、十制调整的基本原则等。
逻辑运算指令对位进行逻辑运算操作,常用于使操作数的某位为0或1, 或测试某位为0还是1。
课外作业及思考题
1) 复习算术运算类指令,熟记各指令格式及操作数要求;
2) 复习位操作类指令,熟记各指令格式及操作数要求;
3) 课后习题 7.(1)~(14)
课后 记 载 :
第9课次授课计划
基本内容:
第3章 8086的指令系统(4) 3。4 8086的指令集——移位操作指令、串操作指令
目的要求: 掌握移位指令、串操作指令的格式、功能和应用
难 点:串操作指令重复前缀的应用
教学环节及组织:
复习巩固
Ø 算术运算指令:ADD/ADC/INC、SUB/SBB/DEC/CMP、MUL/IMUL、DIV/IDIV(重点掌握)
强调:对状态标志位的影响、乘除法指令操作数的隐含要求和书写形式.
Ø 逻辑运算指令:NOT AND OR XOR TEST
强调:按位运算,灵活应用使操作数的某位为0或1, 或测试某位为0还是1.
新课讲授
3 8086的指令系统
3。4。3位操作指令
Ø 移位操作指令:
强调:
² 移位计数值大于1时,需由CL给出
武汉理工大学 自动化学院
² 对标志位的影响:非循环移位指令影响除AF外的其他状态标志位;
所有循环移位指令都只影响进位标志CF和溢出标志OF。
《微机原理与接口技术》课程教案
² 在无进位的情况下,逻辑移位指令可实现乘/除2的效果。
[例题分析]:将AL中的带符号数乘10 , 若(AL)=X
² [课堂讨论]:如何实现多字节长的数逻辑左、右移?
[例题分析]:将DX、AX组合起来构成32位寄存器向左移一位。
Ø 位操作指令小结
² 此类指令共同特点—-按位操作,操作结果均影响标志位;
² 强调位操作指令经常用于组合,屏蔽,检测数据(BYTE或BIT),在实际编程中是非常有用;
² 特别注意TEST和AND指令的相同与不同点,由此确定它们的应用场合
3。4.4串操作指令:用于在存储器之间批量传送数据。
Ø 串的基本概念
Ø 串指令种类(5种):串传送指令(MOVS)、串装入指令(LODS)、串送存指令(STOS)、串比较指令(CMPS)和串扫描指令(SCAS)
Ø 串指令的特点
² 指令给出串操作的种类、类型,如MOVSB—字节,MOVSW-字
² 操作数隐含:源串由DS : SI指向的单元,目的串由ES : DI指向的单元
特殊: LODS、STOS、SCAS,其中一个操作数为 AL / AX 。
² 串的长度由CX给定。
² 影响标志情况
CMPS(串比较)、SCAS(串搜索)影响标志,
MOVS(串传送)、LODS(从串取)、STOS(存入串)不影响标志。
² 指令执行后,指针根据DF标志、操作类型自动修改。
字节操作 ±1,字操作 ± 2;DF= 0用 +, DF= 1用 –
² 使用指令前缀可实现重复串操作指令。
Ø 串指令指令格式(注意重复前缀的使用)
² 利用流程图分析重复前缀的功能,特别强调前缀重复判断条件:
(1)REP前缀 (CX)≠0则表示重复次数未满;
(2)REPZ/REPE REPNZ/REPNE前缀 根据(CX)和(ZF)的值判断是否结束串指令.
² [例题分析]
[例1]将偏移首地址为BUFF1的20个字节型数据,传送到首地址为BUFF2的内存区。
[例2]在某字符串中查找是否存在“$"字符。若存在,则将“$”字符所在地址送入BX寄存器,否则将BX寄存器清0。
[例3]比较string1和string2的两串, 长度为8字节
² [课堂练习]注意串比较指令运行后的结果分析
小结:
掌握逻辑左移、右移,算术左移和右移,循环左、右移和带进位循环左右移指令的功能.
掌握串传送指令、串比较指令、串扫描指令、串装入指令和串送存指令的指令格式、功能和应用,强调该类指令中隐含操作数的规定,关键参数的使用等。注意串指令中重复前缀的应用.
课外作业及思考题
复习串操作类指令,熟记各指令格式及操作数要求;
课后 记 载 :
第10课次授课计划
国庆休假
基本内容:
目的要求:
难 点:
教学环节及组织:
前次课程内容回顾
新课讲授
课外作业及思考题
课后 记 载 :
第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等
² 数据表项中:问号“?”,表示仅给变量保留相应的存储单元,而不
展开阅读全文