第四章 典型CPU及指令系统举例.

Slides:



Advertisements
Similar presentations
指令系统 吴非 本章主要内容 指令系统 指令格式 寻址方式 典型指令系统 MIPS指令系统 RISC 与 CISC -2-
Advertisements

2017年3月5日 单片机原理与应用 背景知识调查.
第2章 微处理器 2.1 概述 /8086微处理器 微处理器 X86/Pentium微处理器
第三章 计算机核心部件及其 工作原理.
第2章 微型计算机基本原理 2.1 数的编码和字符的表示 二进制数 二进制数向十进制数的转换:
第5章 指令系统 5.1 指令系统的发展 5.2 指令格式与数据表示 5.3寻址方式(编址方式) 5.4 指令类型与指令系统的兼容性
1.1 计算机系统简介 1.2 计算机的基本组成 1.3 计算机硬件的主要技术指标 1.4 本书结构.
第一章 计算机基础知识 第一节 计算机概述 一、计算机的基本组成和工作原理 二、有关术语 三、计算机发展简史 四、微型计算机概述
汇编语言与接口技术 教师:范新民.
第三章 80 x86的指令系统和寻址方式 3.1 指令概述 x86的寻址方式 ( ※ ) 3.3 程序占有的空间和执行的时间
 指令系统  寻址方式 第3章 80x86的指令系统和寻址方式 一组指令的集合 指令 与数据有关的寻址方式 与转移地址有关的寻址方式
第三章 CPU子系统 西南石油大学计算机科学学院 主讲教师 杨 梅 联系电话:
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年10月09日.
汇编语言程序设计 Assembly Language Programming
微型计算机技术 教 学 指 导(三) 太原广播电视大学 郭建勇.
第三章 寻址方式与指令系统 3.1 寻址方式 一条指令通常由两大部分构成: 操作码 操作数
逆向工程-汇编语言
/8088指令系统 为便于理解指令的形式和功能, 对指令中操作数符号的约定如下: 大小写字母无区别
微机原理与接口技术 第2章 8086系统结构 朱华贵 2015年09月17日.
第2章 汇编语言与汇编程序 ——8086/8088指令系统 mov ax,12h call display Jmp 1234h.
本章分为七节,主要介绍: 3.1 指令格式及常用符号 C51的寻址方式 3.3 数据传送类指令(29条) 3.4 算术运算类指令(24条)
第四章 指令系统及汇编语言程序设计.
第3章 80x86汇编语言程序设计(上) 时间不够的情况下只讲16位汇编 注:本章中,用此颜色和字型说明的文字只适用于32位汇编.
第4章 数据传送指令 罗文坚 中国科大 计算机学院
总 复 习.
第3章 寻址方式 罗文坚 中国科大 计算机学院
第8章 寻址方式与指令系统.
第2章 IA-32结构微处理器 退出 2.1 IA-32结构的概要历史 2.2 IA-32 PROCESSOR的功能结构
第3章 8086/8088指令系统 mov ax,12h call display Jmp 1234h.
微机原理及应用 主讲:郑海春.
7.1 机器指令 7.2 操作数类型和操作类型 7.3 寻址方式 7.4 指令格式举例 7.5 RISC 技术.
微机原理与接口技术 ——80x86微处理器 西安邮电大学 计算机学院 范琳.
第一章 8086程序设计 第二章 MCS-51程序设计 第三章 微机基本系统的设计 第四章 存贮器与接口 第五章 并行接口
第3章 80x86汇编语言程序设计(上) 时间不够的情况下只讲16位汇编 注:本章中,用此颜色和字型说明的文字只适用于32位汇编.
汇编语言程序设计课程设计 第二次实验 DEBUG基本命令与算术运算指令
第二章 8086/8088系统结构 主要内容 8086/8088微处理器的内部结构 8086/8088 CPU 的引脚与功能
微型计算机原理及应用.
第五章 微处理器.
8086 指令系统特点 可变长指令:指令格式比较复杂。
computer organization principle
1.3 微型计算机的结构和工作原理.
逆向工程-汇编语言
CPU结构和功能.
第二章 80x86计算机组织 § x86微处理器 § 2.2 基于微处理器的计算机系统构成 § 2.3 中央处理机
第二章 IBM-PC微机的功能结构 2.1 IBM-PC微机基本结构 一、 微机的一般构成 一般计算机应包括五大部件:
第3章 MCS-51单片机指令系统 3.1 指令概述 3.2 寻址方式 3.3 MCS-51系列单片机的指令系统.
第二章 80x86计算机组织 x86微处理器 2.2 基于微处理器的计算机系统构成 2.3 中央处理机 2.4 存储器
微机原理与接口技术 ——80x86微处理器 西安邮电大学 计算机学院 范琳.
教师:王晓甜 8086CPU 指令系统 教师:王晓甜
第二章 8086微处理器. 第二章 8086微处理器 微处理器的基本结构 8086微处理器的主要特性和内部结构 8086CPU的工作模式和引脚信号 8086的存储器管理 8086的总线操作和时序.
《微型计算机原理与接口技术》 第4版 王良 宁德师范学院 吴宁 乔亚男 编著 清华大学出版社 出版
第3章 指令系统和寻址方式 3.1指令系统概述 /8086CPU的寻址方式 3.3 指令的机器码表示方法(略)
第3章 MCS-51的指令系统 介绍MCS-51汇编语言的指令系统。 3.1 指令系统概述
第2章 80x86计算机组织  计算机系统  存储器  中央处理机  外部设备.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月13日.
《微型计算机原理与接口技术》 第4版 王良 宁德师范学院 吴宁 乔亚男 编著 清华大学出版社 出版
本节内容 内存复制指令 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
微机原理与接口技术 西安邮电大学计算机学院 宁晓菊.
微机原理与接口技术 ——8086微处理器 西安邮电大学 计算机学院 范琳.
单片机应用技术 项目一 循环彩灯装置 第5讲 MCS-51单片机指令系统及指令格式 《单片机应用技术》精品课程组 湖北职业技术学院机电工程系.
3. 逻辑运算指令 A、简单逻辑操作指令 CLR A. (不影响CY、AC、 OV标志) CPL A
本节内容 标志寄存器.
第四章 8086/8088的指令系统 第一节 寻址方式 一、立即寻址 二、寄存器寻址 三、直接寻址 四、寄存器间接寻址 五、变址寻址
微机原理与接口技术 西安邮电大学计算机学院 宁晓菊.
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
第二章 8086系统结构 /8086的存储器组织 的系统配置及引脚功能 CPU时序
微机原理与接口技术 西安邮电大学计算机学院 宁晓菊.
第4章 指 令 系 统 4.1 指令系统的发展与性能要求 4.2 指令格式 4.3 指令和数据的寻址方式 4.4 典型指令
第三章 CPU子系统 西南石油大学计算机科学学院 主讲教师 杨 梅 联系电话:
第三章 8086的指令系统 8086指令特点 8086的寻址方式 8086的指令格式及数据类型 8086的指令集.
Presentation transcript:

第四章 典型CPU及指令系统举例

学习内容 理解8086/8088CPU的寄存器结构、主存储器、堆栈结构。 掌握8086/8088指令系统的寻址方式。(本章的重点内容) 理解8086/8088指令类型。 了解提高CPU性能的一些措施与当前常用的实际CPU基本组成。

§4.1 8086/8088CPU §4.1.1 8086/8088CPU的结构 1. 8086/8088内部结构: 8086/8088CPU采用指令流水线结构,将取指令(或取操作数)与执行指令的功能分别由两个独立部件实现, 即总线接口部件BIU与执行部件EU 主要任务是完成CPU与主存储器或I/O之间的信息传送。 主要任务是执行指令

总线接口部件BIU与执行部件EU功能见教材P114。

2. 8086/8088主存地址的形成 段基值:在BIU中设置段寄存器,用以存放20位段起始地址的高16位,称为段基值。 偏移量:由EU或指令指针IP提供段内的偏移量,即一个主存单元与所在段的段基址之间的字节距离。

§4.1. 8086/8088寄存器 1. 段寄存器: CS(代码段寄存器)——用来存放程序的指令代码序列,用来存放当前代码段段首址的高16位,即段基值。 DS(数据段寄存器)——存放程序的有关数据,用来存放当前数据段的段基值。 SS(堆栈段寄存器)——用来存放按后进先出顺序存取的信息。存放当前堆栈段的段基值。 ES(附加段寄存器)——存放运算结果或辅助数据,存放当前附加段的段基值。

2 . 通用寄存器 (1)地址指针寄存 (2)数据寄存器 3. 用于控制的寄存器 (1)指令指针IP: (2)标志寄存器FR 进位标志位CF 2 . 通用寄存器 (1)地址指针寄存 (2)数据寄存器 3. 用于控制的寄存器 (1)指令指针IP: (2)标志寄存器FR 作用类似于PC,当现行指令执行完毕,由IP提供下一条指令地址 进位标志位CF 奇偶标志位PF 辅助进位标志位AF 零值标志位ZF 符号标志位SF 溢出标志位OF 单步(或跟踪)标志位TF 中断标志位IF 方向标志位DF

§4.2 主存储器 §4.2.2 主存储器的段结构 §4.2.3 逻辑地址与物理地址 §4.2.1 8086/8088主存储器的特点 §4.2 主存储器 §4.2.1 8086/8088主存储器的特点 §4.2.2 主存储器的段结构 §4.2.3 逻辑地址与物理地址 逻辑地址:段基值和偏移量 物理地址 逻辑地址的来源

§4.3 8086/8088堆栈 §4.3.1 堆栈组织 8086/8088的堆栈是由SS指定的一段存储区(≤64KB)构成,并采用向上(地址码减小)生成方式,由堆栈指针SP指向栈顶。 SS提供堆栈段的段基值,SP的内容为栈顶单元相对堆栈段段基址的字节距离(偏移量)。 8086/8088堆栈规定以字(2个字节)为单位进行存取。

§4.3.2 堆栈操作 先设置堆栈,主要是对堆栈段寄存器SS物堆栈指针SP赋初值。 对堆栈的操作均在栈顶进行的,其基本操作的: §4.3.2 堆栈操作 先设置堆栈,主要是对堆栈段寄存器SS物堆栈指针SP赋初值。 对堆栈的操作均在栈顶进行的,其基本操作的: 压栈:用压栈指令PUSH可以将通用寄存器、段寄存器或字存储单元内容压入堆栈。 2. 出栈:用弹出指令POP可以将当前栈顶字单元内容取出送到通用寄存器、段寄存器或字存储单元中。

§4.4 8086/8088指令系统 §4.4.1 8086/8088寻址方式 1 . 寄存器寻址方式:指令所需的操作数存放在CPU的寄存器(通用寄存器或段寄存器)中,通过指令中给出寄存器地址去找到操作数。

寻址过程: 例:(BX) =1234H MOV AX,BX :将BX中的内 容送到AX中 (AX) =1234H 操作码 REC Ri 操作数S 是指令代码中的寻址字段,表示操作数的寄存器地址

2. 立即数寻址方式 立即数寻址方式:指令所需的操作数直接在指令代码中,随着取指令一起取到BIU的指令队列中。 操作码 操作码 一条指令 AX AH AL AH AL AX 一条指令 34H F5H 12H (A)MOV AX,1234H (B)MOV AL,0F5H

3. 存储器寻址方式 在汇编语言程序中,一个存储单元的地址采用逻辑地址来表示:(形式:段基值:偏移量) 段基值:是由某个段寄存器提供,由指令隐含给出。 偏移量:是指存放操作数的存储单元与段起始(段基址)之间的字节距离,字由CPU的EU按指令中操作数的寻址方式计算而得到,又称为有效地址EA。 有效地址EA:由位移量、基地址、变址量三个地址分量的某种组合求得。

(1)直接寻址方式 定义:指令所需的操作数存放在存储单元中,操作数的有效地址EA直接由指令代码中的位移量提供。 寻址过程: 在源程序中,直接寻址方式可用数值地址或符号地址来表示。 操作码 … 位移量 EA

在采用直接寻址方式的汇编指令中,用数值表示操作数的有效地址,则操作数所在段的段寄存器必须指明,不能缺省。 用数值地址表示: 在采用直接寻址方式的汇编指令中,用数值表示操作数的有效地址,则操作数所在段的段寄存器必须指明,不能缺省。 MOV BX,DS:[1000H] 完成将当前数据段偏移1000H个字节的字单元内容1234H送入BX中。

在源程序中,常用符号地址表示存放操作数的存储单元,所以在汇编指令中,可用符号地址表示的直接寻址方式来存取操作数。 用符号地址表示: 在源程序中,常用符号地址表示存放操作数的存储单元,所以在汇编指令中,可用符号地址表示的直接寻址方式来存取操作数。 例题:P130 MOV BX,VAR MOV BX,DS:VAR MOV DA_BYTE,0FH MOV DS:DA_BYTE,0FH MOV CL,DA+3

(2)寄存器间接寻址方式 寄存器间接寻址方式:指令所需的操作数在存储单元中,操作数的有效地址EA直接从基址寄存器(BP或BX)或变址寄存器(SI或DI)中获得。 见P131的图4-22 寄存器间接寻址方式 MOV CH,[SI] MOV CH,DS:[SI] MOV [DI],BX MOV DS:[DI],BX MOV AL,[BX] MOV AL,DS:[BX] MOV CX,[BP] MOV CX,SS:[BP]

(2)寄存器间接寻址方式 操作码 MOD R/M 是指令代码中的寻址字段 SI OR DI EA OR BX OR BP 寻址过程 寄存器间接寻址方式实际上是将有效地址事先存放在一个寄存器中,如同一个地址指针。因此在程序中只要修改间址寄存器的内容,就可以用一条指令访问不同的存储单元。 DI EA OR BX OR BP 寻址过程

(3)变址寻址和基址寻址方式 使用SI或DI称为变址寻址。 使用BX或BP称为基址寻址。 变址寻址和基址寻址方式:指令所需的操作数在存储单元中,操作数的有效地址EA是基址寄存器(BP或BX)或变址寄存器(SI或DI)的内容与指令中给出的位移量(8位或16或)两个地址分量之和。 使用SI或DI称为变址寻址。 使用BX或BP称为基址寻址。

变址寻址和基址寻址方式 操作码 MOD R/M 位移量 SI OR DI OR EA + BX OR BP

变址或基址寻址方式用来访问顺序存放在主存中的一维数组、表格、字符串等。 寻址方式的使用格式: 变址或基址寻址方式用来访问顺序存放在主存中的一维数组、表格、字符串等。 典型用法:是将指令中不能修改的位移量作为基准地址,而变址或基址寄存器内容作为修改量 例题4-1:见教材132页。 MOV AX,10H[SI] MOV AX,DS:10H[SI] MOV TABLE[DI],12H MOV DS:TABLE[DI],12H MOV AX,ARRY[BX] MOV AX,DS:ARRY[BX] MOV TAB1[BP],CL MOV SS:TAB1[BP],CL

(4)基址变址寻址方式 操作码 MOD R/M 位移量 SI OR EA + DI BX OR BP 寻址过程

基址变址寻址方式用来访问存放在主存中的二维数组。(其寻址方式中有两地址分量可在程序执行过程中进行修改) 寻址方式的使用格式: 基址变址寻址方式用来访问存放在主存中的二维数组。(其寻址方式中有两地址分量可在程序执行过程中进行修改) 例题4-2:见教材133-134页。 MOV AX,200H[BX][SI] MOV AX,DS:200H[BX][SI] MOV TABLE[BX][DI],0FFH MOV DS:TABLE[BX][DI],0FFH MOV AX,ARRY[BP][SI] MOV AX,SS:ARRY[BP][SI] MOV TAB1[BP][DI],DL MOV SS:TAB[BP][DI],DL

4. 串操作寻址方式 串操作寻址方式: 串操作指令规定: 隐含使用SI作为在数据段中的源串(即源操作数)的地址指针 隐含使用DI作为在附加段中的目的串的地址指针。 SI 源串有效地址EA DI 目的串有效地址EA

§4.4.2 8086/8088指令 8086/8088指令按操作数地址划分: 双操作数指令:OPR DEST,SRC §4.4.2 8086/8088指令 8086/8088指令按操作数地址划分: 双操作数指令:OPR DEST,SRC 单操作数指令:OPR DEST 无操作数指令:OPR

8086/8088指令按功能划分: 传送类指令 算术运算类指令 位操作类指令 串操作类指令 程序转移类指令 处理器控制类指令 具体内容见课件

四、串操作类指令 “串”是指存储器中一序列字或字节单元,其内容是字符或数据。 串操作是对这一序列或字单元的内容进行某种操作。

1 . 取串指令 2 . 存串指令 指令格式:LODS源串 指令功能: (1)AX/AL (DS:(SI)) (2)SI (SI)±1或2 (3)对标志寄存器无影响 2 . 存串指令 指令格式:STOS目的串/STOSB/STOSW (1)ES:(DI) (AX)/(AL) (2)DI (DI)±1或2

3 .串比较指令 4. 串比较指令 指令格式:MOVS目的串、源串/MOVSB/MOVSW 指令功能: (1)(ES:(DI)) (DS:(SI)) (2)SI (SI)±1或2,DI (DI)±1或2 (3)对标志寄存器无影响 4. 串比较指令 指令格式:CMPSI源串,目的串/CMPSB/CMPSW (1)(DS:(SI)—(ES:(DI)) (2) SI (SI)±1或2, DI (DI)±1或2 (3)影响标志位OF,SF,ZF,AF,PF,CF

5 .串搜索指令 6. 重复前缀指令(3条) 指令格式:SCAS目的串/SCASB/SCASW 指令功能: (1)(AX/AL)—(ES:(DI)) (2)DI (DI)±1或2 (3)影响标志位OF,SF,ZF,AF,PF,CF 6. 重复前缀指令(3条) 指令格式:REP 重复执行串操作指令的条件是:(CX)≠0 指令格式:REPE/REPZ 重复执行串操作指令的条件是:(CX)≠0AND ZF=1 指令格式:REPNE/REPNZ 重复执行串操作指令的条件是:(CX)≠0 AND ZF=1

五、处理器控制指令 1. 标志位操作指令 2. 与外部事件同步的指令 3. 空操作指令

§4.5 提高CPU性能的一些措施 了解 自学

作业: 见教材P164,T3----27做在书上 作业:做在作业本上 1、编写一程序段,将AL的低4位与BL的低4位互换,AL和BL的高4位保持不变。 2、编写计算5X-Y+10多项式值的程序段。说明:多项式值存于AX中,X、Y是无符号数,设中间和最后结果不超过16位二进制数。