当前课程知识点:微机原理与接口技术 >  第7周 程序与处理器控制 >  第25讲 程序控制指令说明 >  程序控制类指令说明

返回《微机原理与接口技术》慕课在线视频课程列表

程序控制类指令说明在线视频

程序控制类指令说明

下一节:无条件转移指令

返回《微机原理与接口技术》慕课在线视频列表

程序控制类指令说明课程教案、知识点、字幕

大家好

这一讲开始我们来学习8086指令集中

从原理的角度来讲最复杂的一大类指令

就是程序控制类指令

这个是整个8086指令系统的第五大类指令

程序控制类指令因为它在原理上的复杂性

所以我们在正式学习这类指令之前

我们先要做一些说明

从这一大类指令的名字上我们就可以感觉到

这一类指令是在控制程序走向

所以这一大类指令它的本质就是控制程序

不要按照正常的顺序去执行

而是要改变程序的执行方向

而我们程序的执行方向

是由谁来决定的呢?

我们来回忆一下我们讲冯·诺依曼结构的时候

我们看到的这张图

我们说过在程序进入到内存里头成为进程的时候

当然它都是以机器语言的形式在存放的

为什么程序能从这个地方开始呢?

是因为我们有一个

计算机内部有一个程序计数器

这是一个寄存器

它的值就是我们程序第一条指令在初始情况下

PC的值就是我们第一条指令

在内存中的存放地址

因为它指向了这样第一条指令

所以CPU在取指令的时候就会从这个地方去取

取完了第一条指令 程序计数器PC就加1

然后 因为它加1所以就指向了第二条指令

所以下一次取指令就从第二条指令去取了

这是我们前面讲冯·诺依曼基本原理的时候

给大家看见 看到过的这个图

也就是说介绍过的这样一个CPU的基本工作过程

那么如果每一次取完一条指令PC都加1

加1加1这样下去

那么我们整个的程序结构就是一个顺序的结构

也就是从头到尾一条一条的顺序执行下去

那么如果

第一条指令取完PC的值不是加1

比如是加了n呢?

那么这是时候程序第一条指令执行完

它肯定就去执行第二 第n条了

那么就说改变了整个程序的控制结构

这就相当于我们第一条执行完后

跑到那个地方去执行了

这可能是一个分支结构 对吧?

在因特尔CPU里头 PC我们也叫IP

所以 通过改变IP的值实际上就改变了程序的走向

但是我们同时也说过

我们整个的程序代码是在代码段里存放

因此 影响程序执行方向的因素

就是这两个寄存器的值

如果仅仅是改变了IP的值

那么程序会在这样 当前这个代码段里

不是按照顺序这样执行下去

而是可能执行完这条

跳到这个代码段的另外一个地方执行

这就是有时候我说的在这一层楼上

我们从这个房间突然搬到另外一个房间

但是如果说连这两个寄存器的值都改变的话

那么就相当于我们下楼或者上楼 改变楼层了

那么有程序会从这个代码段

会跳到另外一个代码段去执行

这两个寄存器的值

在我们前面所学到的所有的指令中间

我们从来没有发现这两个寄存器

会出现在指令的操作数中

特别是 所有的指令

都不允许这两个操作数作为目标操作数存在

虽然理论上它们可以作为原操作数 对吧?

就是因为什么呢?

这两个寄存器的值是不能够随便去修改的

一旦修改我们程序的走向就不改变

但是程序控制类指令呢 恰恰相反

它就是要改变这两个寄存器的值

来控制程序的走向

所以 它是通过隐式的方式

来改变这两个寄存器的值的

所以这一类指令 不论是转移还是调用

它们都是通过改变IP或者改变CS和IP

来改变程序的执行方向

从而就实现了我们三种基本的程序结构

顺序 分支和循环

就是说如果我们不改变它

就每一次都使得IP加1加1

这样就构成了顺序结构

如果我们每一次都修改了IP或者同时修改了CS

程序就有可能出现了一个分支转移的结构

那么如果我们一般情况下改变IP的值的话

我们一般会实现程序的循环

因此我们在学习这一类指令的时候

大家一定要关注指令是如何实现对IP

或者实现对CS和IP来进行修改的

这个是大家学习这类指令

只要关注到这一点就没什么了

这类指令一共有四个小类

分别是转移类 循环类和调用类以及中断指令

下边来我们来分别来学习这四个小类指令

微机原理与接口技术课程列表:

第1周 微型计算机基础概论

-第1讲 关于本课程

--关于本课程

-第2讲 微型计算机系统

--微机系统_01

--微机系统_02

-第3讲 微型计算机一般工作过程

--微机的一般工作过程_01

--微机的一般工作过程_02

-第4讲 数制与编码

--常用计数制及其转换

--计算机中的编码

-第5讲 计算机中数的表示与运算

--数的表示

--符号数的表示

--数的表示与运算

-第6讲 基本逻辑运算与逻辑电路

--基本逻辑运算与逻辑门

--常用逻辑运算及电路

-第7讲 本周小结

--本周小结

-第1周 微型计算机基础概论--第一周单元测验

第2周 8088微处理器

-第8讲 8088微处理器

--8088 CPU_01

--8088 CPU_02

-第9讲 8088 CPU主要引线及机构

--8088 CPU主要引线

--8088 CPU内部结构

--8088 CPU内部寄存器

-第2周 8088微处理器--第二周单元测验

第3周 实模式存储器寻址与总线

-第10讲 实模式存储器寻址

--实模式存储器寻址_01

--实模式存储器寻址_02

--实模式存储器寻址_03

-第11讲 8088系统总线

--8088系统总线

-第12讲 微处理器小结

--微处理器小结

-单元测验--作业

第4周 数据传送指令

-第13讲 指令概述

--指令概述

-第14讲 寻址方式

--寻址方式

-第15讲 通用数据传送指令

--通用数据传送指令_01

--通用数据传送指令_02

--通用数据传送指令_03

-第16讲 地址传送指令

--地址传送指令

-第17讲 输入输出指令

--输入输出指令

-第4周 数据传送指令--第四周单元测验

第5周 算术运算、逻辑运算与移位操作指令

-第18讲 算术运算指令

--加法运算指令

--减法指令

--乘除运算指令

-第19讲 逻辑运算指令

--逻辑运算指令_01

--逻辑运算指令_02

-第20讲 移位操作指令

--移位操作指令

-第5周 算术运算、逻辑运算与移位操作指令--第五周单元测验

第6周 串操作指令

-第21讲 关于串操作指令的说明

--串操作指令说明

-第22讲 串传送与串比较

--串传送与串比较

-第23讲 串扫描指令

--串扫描指令

-第24讲 串装入与串存储指令

--串装入与串存储指令

-第六周单元测验--作业

第7周 程序与处理器控制

-第25讲 程序控制指令说明

--程序控制类指令说明

-第26讲 转移类指令

--无条件转移指令

--条件转移指令

-第27讲 循环控制指令

--循环控制指令

-第28讲 过程调用指令

--过程调用指令

-第29讲 中断指令

--中断指令

-第30讲 处理器控制指令

--处理器控制指令

-第31讲 指令系统小结

--指令系统小结

-第7周 程序与处理器控制--第七周单元测验

-第7周 程序与处理器控制--第七周作业

第8周 汇编语言程序设计

-第32讲 汇编语言源程序

-- 汇编语言源程序_01

-- 汇编语言源程序_02

-第33讲 伪指令

--数据定义伪指令

--符号与段定义伪指令

--汇编语言源程序结构例

--其它伪指令

-第34讲 系统功能调用

--系统功能调用_01

--系统功能调用_02

-第35讲 汇编语言程序设计示例详解

--程序设计示例1

--汇编语言程序设计示例_02

-第36讲 汇编语言程序设计小结

--汇编语言程序设计小结

-第8周 汇编语言程序设计--第八周单元测验

-第8周 汇编语言程序设计--第八周作业

第9周 半导体存储器

-第37讲 半导体存储器概述

--半导体存储器概述

-第38讲 内存单元编址

--存储单元编址

-第39讲 随机存取存储器RAM

-- RAM_01

--RAM_02

-第40讲 只读存储器ROM

--ROM_01

--ROM_02

-第九周单元测验--作业

第10周 半导体存储器扩展技术

-第41讲 半导体存储器扩展

--半导体存储器扩展_1

--存储器扩展_2

--半导体存储器扩展_3

-第42讲 半导体存储器小结

--半导体存储器小结

-第十周单元测验--作业

-第十周作业--作业

第11周 输入输出与中断技术

-第43讲 基本I/O接口

--I/O系统概述_01

--I/O系统概述_02

-第44讲 简单接口芯片

--简单接口芯片

-第45讲 基本输入输出方法

--基本I/O方法

-第46讲 简单I/O控制系统设计

--简单I/O控制系统设计1

--简单I/O控制系统设计2

-第47讲 中断技术

--中断技术1

--中断技术2

-第48讲 输入输出与中断技术小结

--本周小结

-第十一周单元测验--作业

第12周 可编程并行数字接口

-第49讲 可编程定时计数器

--可编程定时计数器8253_01

--可编程定时计数器8253_02

--可编程定时计数器8253_03

-第50讲 可编程并行接口

--可编程并接口8255_01

--可编程并行接口8255_02

--可编程并行接口8255_03

-第51讲 可编程接口小结

--本周小结_01

--本周小结_02

-第十二周单元测验

第13周 模拟量的输入输出

-第52讲 模拟量的输入输出

--模拟量的输入输出

-第53讲 D/A转换器

--D/A转换器_01

--D/A转换器_02

-第54讲 A/D转换器

-- A/D转换器_01

--A/D转换器_02

-第十三周单元测验--作业

第14周 系统综合设计示例详解

-第55讲 I/O接口系统综合设计示例详解I

--综合设计示例详解I_01

--综合设计示例详解I_02

-第56讲 综合设计示例详解II

--综合设计示例详解II_01

--综合设计示例详解II_02

-第57讲 结束语

--结束语

程序控制类指令说明笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。