第4章指令系统

合集下载

第四章 指令系统[一]

第四章  指令系统[一]

译码开始
4:16译码器 : 译码器
4:16译码器 : 译码器
4:16译码器 : 译码器
4:16译码器 : 译码器

15条三地址指令 15条三地址指令

14条二地址指令 14条二地址指令

31条一地址指令 31条一地址指令

16条零地址指令 16条零地址指令
图4.1 指令译码逻辑图

注意事项: 注意事项: • 短操作码不能与长操作码 的前面代码部分相同; 的前面代码部分相同; • 各指令的操作码一定不能重复,而且各类指令的 各指令的操作码一定不能重复, 格式安排应统一规整. 格式安排应统一规整.
例1(P151.题2):假设某计算机指令长度为20位,具有双操作 1(P151.题2):假设某计算机指令长度为20位 假设某计算机指令长度为20 单操作数、无操作数三类指令形式, 数、单操作数、无操作数三类指令形式,每个操作数地址 规定用6位表示, 规定用6位表示,问: 若操作码字段固定为8 现设计出m条双操作数指令,n 若操作码字段固定为8位,现设计出m条双操作数指令,n 固定为 条无操作数指令,在此情况下, 条无操作数指令,在此情况下,这台计算机最多可以设计出 多少条单操作数指令? 多少条单操作数指令? 解 : 2 8 - m - n条
(1) 三个容易混淆的基本概念
• 指令字长:一条指令中包含二进制代码的位数. 指令字长:一条指令中包含二进制代码的位数. • 存储字长:存储单元中二进制数的位数. 存储字长:存储单元中二进制数的位数. • 机器字长:计算机能直接处理的二进制数据的 机器字长: 位数,通常与主存单元的位数一致. 位数,通常与主存单元的位数一致.
例:设某机器的指令字长为16位,包括基本操作码4位 设某机器的指令字长为16位 包括基本操作码4 16 和三个地址字段,每个地址字段长4 其格式为: 和三个地址字段,每个地址字段长4位,其格式为: 15 12 11 A1 OP 8 7 A2 4 3 A3 0

第4章 指令系统和寻址方式

第4章 指令系统和寻址方式
操作码 MOD REG R/M* DISP-L DISP-H DATA-L DATA-H
4
第4章 8086CPU指令系统 4.1.4 操作数的寻址方式
在指令中,指定操作数或操作数存放位置的方法称为寻址方 式。 8086/8088CPU指令系统的操作数的来源有以下4种:立即数、 寄存器操作数、存储器操作数、端口操作数。 微机系统中除端口操作数外,有七种基本的操作数寻址方式: 立即寻址方式、寄存器寻址方式、直接寻址方式、寄存器间接 寻址方式、寄存器相对寻址方式、基址加变址寻址方式、相对 基址加变址寻址方式,后五种寻址方式是确定存储器操作数有 效地址的计算方法。
第4章 8086CPU指令系统
5. 寄存器相对寻址(Register Relative Addressing)
操作数的有效地址EA 是8位或16位的位移量 (DISP8/16)与基址寄存器BX或基址指示器BP或某个变
址寄存器(DI或SI)之和,即
EA=(BX或BP或SI或DI)+DISP8/16。 MOV AX,[BX+10H]指令操作示意图如图4.6所示。
7
第4章 8086CPU指令系统
在存储器操作数的五种寻址方式中,数据都存放于存储单元
中,在指令操作过程中需要 BIU 通过一个总线周期的访问,才 能获得操作数。因此,存储器操作数的寻址方式是怎么根据给 出的操作数地址因子,计算出操作数的有效地址 EA(Effective Address)。有效地址EA是以下三个地址因子的组合,由CPU的 执行单元EU计算出来。
13
第4章 8086CPU指令系统
代码段 10000H 1000H:0000H
操作码 BX 20H 00H 操作码
1000H:0100H

微机原理 第四章 微型计算机指令系统

微机原理 第四章 微型计算机指令系统

例: 已知: DS=2000H; SI=1000H 指令: MOV [SI+disp],AX
青岛理工大学琴岛学院
寄存器间接相对寻址过程示意图
CPU
寄存器间接相对 SI=1000H
MOV [SI+20H] 程序 ,AX
CS 偏移1000H
DS
SS
ES
位移20H
青岛理工大学琴岛学院
寄存器相对寻址过程示意图
真正数据所在的地址
青岛理工大学琴岛学院
错误指令举例: 6)基址变址寻址: MOV [BX+CX],AX ; CX不能做变址寄存器 MOV [BX+BP],AX ; BP不能作为变址寄存器 操作数的有效地址 EA等于一个基址寄存器( BX或 MOV [BX+DI],ARRAY; BP)与一个变址寄存器( SI或DI)的内容之和;
总时间=基本执行时间+计算EA的时间+执行总线读/写周期的时间
指令的基本执行时间随指令类型的不同差异很大,访问存 储器既要执行总线的读/写周期,又要计算操作数的有效地址 EA,计算EA的时间又与指令的寻址方式有关。
青岛理工大学琴岛学院
4.2 8086/8088指令系统
数据传送类指令
算术运算类指令 位操作类指令 串操作类指令 控制转移类指令 处理器控制类指令
21000H 20 位 物 理 地 址 真正数据所在的地址 Memory DS … 20000H

78H 21000H 56H
青岛理工大学琴岛学院

4)寄存器间接寻址:
此方式的操作数存放在存储器单元中,指令给出的 16位寄存器值就是该操作数所在存储单元的EA。

例: 已知: (DS)=2100H,(DI)=2000H 指令: MOV AX,[DI] ;(AX) ((DI)) 注:使用BX、SI、DI,操作数在DS段;BP时在SS段 其中寄存器只能是BX、SI、DI、BP

第4章 指令系统

第4章 指令系统

3. 规整性
规整性包括指令系统的对称性,匀齐性,指令 格式和数据格式的一致性.对称性是指:在指 令系统中所有的寄存器和存储器单元都可同等 对待,所有的指令都可使用各种寻址方式.匀 齐性是指:一种操作性质的指令可以支持各种 数据类型.
4.兼容性 兼容性
系列机各机种之间具有相同的基本结构和共 同的基本指令集,因而指令系统是兼容的,即 各机种上基本软件可以通用.但由于不同机种 推出的时间不同,只能做到"向上兼容" .
目前在指令操作码设计上主要采用以下两 种编码方式 1. 固定长度操作码 操作码的长度是固定的,且集中放在 指令字的一个字段中,指令的其余部分全 部用于地址码.例如IBM370机和VAX-11系 列机,操作码的长度均为8位,可表示256 种不同的操作. 2. 可变长度操作码
4.2.2 地址码
地址码用于指定操作数和存放运算结果的地址, 通常称为操作数.操作数可以是一个直接的数或者 是一个数据所在的地址,它以空格与操作码分开.
例如: MOV AX,[SI]
假如用户用高级语言编程,根本不用 考虑寻址方式,因为这是编译程序的事,但 若用汇编语言编程,则应对它有确切的了解, 才能编出正确而又高效的程序.此时应认真 阅读指令系统的说明书,因为不同计算机采 用的寻址方式是不同的,即使是同一种寻址 方式,在不同的计算机中也有不同的表达方 式或含义. 思考:设计指令系统时,数据的寻址方式 越多越好吗?为什么?
4.直接寻址 指令中的形式地址A就是操作数的真实 地址EA,这种寻址方式称为直接寻址方式, 又称为绝对寻址方式.如图5-3所示.
OP 寻址特征 A 主存 A 操作数
图5-3 直接寻址方式
例如: MOV AL,[0080H] MOV AX,[1000H]

《计算机组成原理》教程第4章指令系统

《计算机组成原理》教程第4章指令系统

4
二 指令的格式
即指令字用二进制代码表示的结构形式
包括 操作码:操作的性质 操作码 地址码:操作数(operand)的存储位置,即参加操作的 operand , 地址码 数据的地址和结果数的地址
操作码域(op) 地址码域(addr)
5
1.操作码 操作码
指令的操作码表示该指令应进行什么性质的操作。 组成操作码字段的位数一般取决于计算机指令系统的 规模。 固定长度操作码:便于译码,扩展性差 . 可变长度操作码:能缩短指令平均长度 操作码的的位数决定了所能表示的操作数,n位操 作码最多表示2n种操作
(2). 堆栈工作过程 .
(一)进栈操作 ① 建立堆栈,由指令把栈顶地址送入SP,指针 指向栈顶。 ② 进栈:(A)→Msp, (sp)-1→SP ;Msp:存储 器的栈顶单元 (二)出栈操作 (SP)+1→SP, (Msp)→A
22
五.指令类型
一个较完善的指令系统应当包括: 数据传送类指令: 例)move、load、store等 算术运算类指令: 例)add、sub、mult、div、comp等 移位操作类指令: 例) shl,shr,srl,srr 逻辑运算类指令: 例)and、or、xor、not等 程序控制类指令: 例)jump、branch、jsr、ret、int等 输入输出指令: 例)in、out等 字符串类指令: 例)如alpha中cmpbge、inswh、extbl等 系统控制类指令: 例)push、pop、test等
18
10) *段寻址方式 段寻址方式 Intel 8086 CPU中采用了段寻址方式(基址寻址的特例)。 由16位段寄存器和16位偏移量产生20位物理地址 11)*自动变址寻址 自动变址寻址 指在变址方式中,每经过一次变址运算时,都自动改变变址寄存 器的内容,以后在PDP-11中详讲.

计算机原理 第四章指令系统

计算机原理 第四章指令系统

4. 寄存器间接寻址方式
指令给出寄存器号,寄存器中存放着操作数的地址。
优点:寄存器的位数 较长(一般为机器字 长),足以访问整个 内存空间,这样既有 效地压缩了指令长度, 又解决了寻址空间太 小的问题。
主存单元 例: ADD (R1),(R2) R0 1000H 1000H 3A00H
R1
2C00H+ 3B00H → 3000H单元 R2
计 算 机 组 成 原 理
指令扩展举例 1
16位指令字 三地址指令范围 xxxx
0000 1110 1111 1111 1111 1111 1111 1111
xxxx xxxx xxxx
A1 A1 0000 1110 1111 1111 1111 1111 A2 A2 A1 A1 0000 1110 1111 1111 A3 A3 A2 A2 A1 A1 0000 1111
2.变长操作码,定长指令码。
操作码长度不固定,但指令码的长度固定。这种设计当操作码变 长时,地址码就缩短(地址个数变少),但指令字总长不变。 〔例〕 设某机器的指令长度为16位,包括基本操作码4位和三个 地址字段,每个地址字段长4位,其格式为: 15 14 13 12 OP 11 10 9 8 AD1 7 6 5 4 AD2 3 2 AD3 1 0
第四章
§4.1 指令格式
指令系统
(P148)
§4.2
寻址方式
§4.3 指令类型 §4.4 § 4.5 CISC和RISC 实验模型机的指令系统汇总表
§4.1 指令格式
计算机指令是计算机硬件能够识别并直接执行的操作命令,又称为 机器指令。
一、指令格式
一条指令应包括两方面的信息:操作码信息和地址码信息。 操作码OP 地址码AD

第4章 指令系统

第4章  指令系统
度和数据长度有一定的关系,以方便处理和
存取。
二、对指令系统性能的要求三
4、兼容性:
系列机各机种之间具有相同的基本结 构和共同的基本指令集,因而指令系统是 兼容的,即各机种上基本软件可以通用。但 由于不同机种推出的时间不同,在结构和性 能上有差异,做到所有软件都完全兼容是不 可能的,只能做到“向上兼容”,即低档机 上运行的软件可以在高档机上运行。
a、CISC:70年代后,大多数计算机的指 令系统多达几百条。我们称这些计算机 为复杂指令系统计算机(CISC)。
b、RISC:但是如此庞大的指令系统难以 保证正确性,不易调试维护,造成硬件 资源浪费。为此人们又提出了便于LSI技 术实现的精简指令系统计算机(RISC) 返回
二、对指令系统性能的要求一
4.4、指令和数据的寻址方式
一、指令的寻址方式 二、操作数寻址方式
三、寻址方式举例
一、指令的寻址方式一
1、寻址方式:形成操作数有效地址或指令 有效(偏移)地址的方式。 2、寻址方式分为两类,既指令寻址方式和 数据寻址方式。 3、指令的寻址方式有两种,一种是顺序寻 址方式,另一 种是跳跃寻址方式。 4、操作数或指令在存储器中的地址:某个 操作数或某条指令存放在某个存储单元 时,其存储单元的编号就是地址。请看 图示
答案:
退 出 上一页 下一页 上一节 下一节 返回节目录
例三答案:
三、低级语言与硬件结构的关系
高级语言 低级语言
Visual c++、foxpro、java
与软件结构和指令系统无关 编写的程序可在不同机器上 运行
汇编语言、二进制语言
与机器、指令系统密切相关 编写的指令系统不同,不同
机器用不同汇编语言编写程 序,机器唯一可识别的是二

计算机组成原理-第4章_指令系统

计算机组成原理-第4章_指令系统

7. 段寻址方式(Segment Addressing)
方法:E由段寄存器的内容加上段内偏移地址而形成。
应用:微型机采用段寻址方式,20位物理地址为16位 段地址左移四位加上16位偏移量。
分类:① 段内直接寻址; ② 段内间接寻址; ③ 段间直接寻址; ④ 段间间接寻址;
9 堆栈寻址方式
堆栈:是一组能存入和取出数据的暂时存储单元。
*** 指令字长度
概念 指令字长度(一个指令字包含二进制代码的位数) 机器字长:计算机能直接处理的二进制数据的位数。 单字长指令 半字长指令 双字长指令
多字长指令的优缺点
优点提供足够的地址位来解决访问内存任何单元的寻址问题 ; 缺点必须两次或多次访问内存以取出一整条指令,降低了CPU的运 算速度,又占用了更多的存储空间。
*** 指令系统的发展与性能要求
*** 指令系统的发展
指令:即机器指令,要计算机执行某种操作的命令。
指令划分:微指令、机器指令和宏指令。
简单
复杂
指令系统:一台计算机中所有指令的集合;是表征
计算机性能的重要因素。
系列计算机:基本指令系统相同、基本体系结构相同 的一系列计算机。
*** 对指令系统性能的要求
(2)立即数只能作为源操作数,立即寻址主要用来给寄存 器或存储器赋初值。以A~F开头的数字出现在指令中时,前 面要加0。
(3)速度快(操作数直接在指令中,不需要运行总线周期)
(4)立即数作为指令操作码的一部分与操作码一起放在代 码段区域中。
(5)指令的长度(翻译成机器语言后)较长,灵活性较差。
【例】MOV AX, 10H 执行后(AX)=? 其中:这是一条字操作指令,源操作数为立即寻址 方式,立即数为0010H,存放在指令的下两个单元。

第四章 指令系统小结

第四章  指令系统小结
第四章 小结 重点提示: 重点提示: 1.什么是指令,指令系统 什么是指令, 2. 指令格式包含哪些内容,每部分如何合 指令格式包含哪些内容, 理设置 指令和数据的寻址方式有哪些, 3. 指令和数据的寻址方式有哪些,各有什 么特点。 么特点。
串联本章的问题 1问:数据可以在计算机中表示,但计算机如何 数据可以在计算机中表示, 对这些数据进行处理。 对这些数据进行处理。 答:通过指令 2问:什么是指令,指令如何构成? 什么是指令,指令如何构成? 答:指令是指示计算机执行何种操作的命令, 指令是指示计算机执行何种操作的命令, 它由操作码和地址码构成? 它由操作码和地很多指令,每条指令格式都 计算机中有很多指令, 一样吗? 一样吗? 答:不一样? 指令类型 不一样? 4问:既然不一样,那在设计指令的时候应该遵 既然不一样, 循什么原则,才能使指令系统简洁而有效呢。 循什么原则,才能使指令系统简洁而有效呢。 答:涉及的知识点:设计指令时应该考虑的因 涉及的知识点: 素

计算机组成原理(白中英)第4章指令系统

计算机组成原理(白中英)第4章指令系统

计算机组成原理(白中英)第4章指令系统指令系统概述寻址方式指令系统20XX年3月15日10时45分概述指令:是指示计算机某种操作的命令。

微指令,机器指令,宏指令指令系统:一台计算机中所有机器指令的集合。

它是机器硬件设计的依据,也是软件设计的基础。

它决定了一台计算机硬件的主要性能和基本功能。

是硬件和软件间的界面。

系列计算机:有共同的指令集,相同的基本体系结构。

CISC和*****X年3月15日10时45分2一个完善的指令系统应满足:1.完备性:指令丰富,功能齐全,使用方便。

1.完备性:指令丰富,功能齐全,使用方便。

完备性 2.有效性程序占空间小,执行速度快。

有效性: 2.有效性:程序占空间小,执行速度快。

3.规整性对称性,匀齐性,规整性:3.规整性:对称性,匀齐性,指令格式和数据格式的一致性。

据格式的一致性。

4.兼容性兼容性:4.兼容性:向上兼容”----系列机中低档机上运行“向上兼容”----系列机中低档机上运行的软件可以在高档机上运行。

的软件可以在高档机上运行。

20XX年3月15日10时45分计算机语言与硬件结构的关系高级语言的语句和用法与具体机器的指令系统无关;低级语言分机器语言和汇编语言,他们和具体机低级语言分机器语言和汇编语言,器的指令系统密切相关。

器的指令系统密切相关。

汇编语言与硬件的关系密切,编写的程序紧凑、汇编语言与硬件的关系密切,编写的程序紧凑、占内存小、速度快,占内存小、速度快,特别适合与编写经常与硬件打交道的系统软件;打交道的系统软件;而高级语言不涉及机器的硬件结构,通用性强、编写程序容易,件结构,通用性强、编写程序容易,特别适合与编写与硬件没有直接关系的应用软件。

编写与硬件没有直接关系的应用软件。

20XX年3月15日10时45分4概述机器指令的要素C C C C 操作码源操作数目的操作数下一条指令的引用指令字(简称指令)即表示一条指令的机器字。

指令字(简称指令)即表示一条指令的机器字。

单片机原理与应用(陈桂友)第4章_指令系统

单片机原理与应用(陈桂友)第4章_指令系统

单片机原理及应用
4.3
寻址方式
8/79
操作数是指令的重要组成部分,它指定了参与运算的数或数所在 单元地址,而如何得到这个地址就称为寻址方式。一般来说,寻址方 式越多,计算机功能越强,灵活性越大。所以寻址方式对机器的性能 有重大影响。8051单片机共有7种寻址方式,描述如下:
1.立即寻址
指令中的源操作数是立即数,叫做立即寻址。立即数的类型可以 是:二进制(B)、十进制、十六进制(H)、整数、序数或者字符。立即 数的字长可以是8位或16位。 例如: MOV A,#61H 这条指令是把61H这个数据送入到累加器A中。 例如: MOV DPTR,#2050H 这条指令是把2050H这个数据送入到数据指针DPTR中。
程序存储器 PC 11100101 操作码 60H 01100000 直接地址
RAM 89H 89H ACC 0E0H
4:59:21
版权所有。
单片机原理及应用
10/79
3.寄存器寻址
指定某一可寻址的寄存器的内容为操作数,对寄存器ACC,B, DPTR和CY(进位标志,也是布尔处理机的累加器),其寻址时具体的 寄存器已隐含在其操作码中。而对选定的8个工作寄存器R7~R0,则用 指令操作码的低3位指明所用的寄存器。在应用中,可以先通过PSW中 的RS1、RS0两位来选择寄存器组,再用操作码中低3位来确定是组内哪 一个寄存器,达到寻址的目的。 例如:INC R5 ;把寄存器R3的内容加1后再送回R5
8位带符号偏移量。 当前工作区(0~3区)的工作寄存器(n=0,1,„,7) 可作地址寄存器的工作寄存器R0和R1(i=0,1) X寄存器内容 由X寄存器寻址的存储单元的内容 表示数据的传送方向 表示位操作数取反 表示逻辑与操作 表示逻辑或操作 表示逻辑异或操作

计算机组成原理 指令系统

计算机组成原理 指令系统

本章所讨论的指令,是机器指令
本章学习内容
4.1 指令格式 4.2 寻址技术 4.3 堆栈与堆栈操作 4.4 指令类型
本章学习要求
理解:指令的基本格式以及不同地址码(3、2、1 、0地址)的双操作数指令的区别 理解:规整型指令和非规整型指令的特点 掌握:扩展操作码的方法 理解:编址单位和指令中地址码的位数与主存容量 、最小寻址单位的关系 掌握:基本的数据寻址方式和有效地址EA的计算方 法 掌握:自底向上的存储器堆栈的概念及堆栈的进、 出栈操作 理解:常用指令的特点
当用一些硬件资源代替指令字中的地址码字段后
• 可扩大指令的寻址范围
• 可缩短指令字长 • 可减少访存次数 当指令的地址字段为寄存器时
三地址
二地址 一地址
OP R1, R2, R3
OP R1, R2 OP R1
• 可缩短指令字长 • 指令执行阶段不访存
EXP 某指令字长为16位,每个地址码为6位,扩 展操作码技术,设有14条二地址指令,100条一 地址指令,100条零地址指令: 1)画出扩展图 2)计算操作码平均长度 3)指令译码逻辑
1.规整型
操作码字段的位数和位置是固定的。 假定:指令系统共有m条指令,指令中操 作码字段的位数为N位,则有如下关系式: N≥log2 m 规整型编码对于简化硬件设计,减少指 令译码的时间是非常有利的。 IBM 370机(字长32位)的指令可分为 三种不同的长度,不论指令的长度为多少位,其 中操作码字段一律都是8位。
指令长度可以等于机器字长,也可以大于或 小于机器字长。 在一个指令系统中,若所有指令的长度都是 相等的,称为定长指令字结构;若各种指令的长 度随指令功能而异,称为变长指令字结构。

计组第4章

计组第4章

CISC:
•复杂指令系统计算机。 •指令系统中指令数量多达几百条。
RISC:
•精简指令系统计算机。 •选取使用频率最高的简单指令,指令 条数少。
4.1.2 对指令系统性能的要求
一个完善的指令系统应满足如下 四方面的要求:
完备性 规整性
有效性
兼容性
完备性 是指用汇编语言编写各
种程序时,指令系统直接提 供的指令足够使用,而不必 用软件来实现。完备性要求 指令系统丰富、功能齐全、 使用方便。
《计算机组成原理》
第四章 指令系统
介绍几个基本概念
指令是指挥机器完成某种操作的命令。
指令系统是某台计算机能直接识别并正
确执行的所有指令的集合。
指令系统是表征一台计算机性能的重要
因素,是计算机软件与硬件的交界面。
主要内容
1. 2. 3. 4. 5. 指令系统的发展 指令的格式 寻址方式 指令的分类和功能 典型指令系统的模型
操作操作数指令操作码寄存器指令操作数寄存器直接寻址操作码存储器指令操作数直接寻址操作码操作数存储器寄存器指令存储器指令操作码操作数寄存器间接寻址存储器间接寻址操作码操作数pc指令存储器存储器寄存器指令操作码操作数变址寻址pc存储器寄存器指令操作码操作数存储器寄存器指令操作码操作数变址相对寻址间接变址寻址16位偏移量dop其中i为间接寻址标志位x为寻址模式字段d位偏移量字段
有效性是指利用该指令系统所编
写的程序能够高效率地运行。 高效率主要表现:


空间:在程序占据存储空间小;
时间:执行速度快。
规整性包括指令系统的对称性、匀齐性、
指令格式和数据格式的一致性。
• 对称性:指在指令系统中所有的寄存器 和存储器单元都可同等对待,所有的指 令都可使用各种寻址方式; • 匀齐性:指一种操作性质的指令可以支 持各种数据类型; • 指令格式和数据格式的一致性:指指令 长度和数据长度有一定的关系,以方便 处理和存取。通常都是字节的整数倍。

汇编语言第四章:指令系统和寻址方式

汇编语言第四章:指令系统和寻址方式

第四章 第一章 指令系统和寻址方式 基础知识
第四章 第一章 指令系统和寻址方式 基础知识
第四章 第一章 指令系统和寻址方式 基础知识
根据d的不同进行选取
第四章 第一章 指令系统和寻址方式 基础知识
d=1时的操作
第四章 第一章 指令系统和寻址方式 基础知识
d=0时的操作
第四章 第一章 指令系统和寻址方式 基础知识
如果2000H单元在附加段,指令为: MOV AX, ES:[2000H] 段跨越前缀: 段寄存器名: —— 改变默认使用的段寄存器
第四章 第一章 指令系统和寻址方式 基础知识
可以使用属性操作符 type PTR 来进行属性说明
第四章 第一章 指令系统和寻址方式 基础知识
(4)寄存器间接寻址方式 (Register Indirect Addressing ) 特点: (寄存器) = 操作数的偏移地址 计算操作数物理地址的公式:
next
(7)相对基址变址寻址方式 ( Relative Based Index Addressing ) 特点:(基址寄存器) + (变址寄存器)+位移量 = 操作数的偏移地址
例:设 ( SS ) = 3000H ( BP ) = 2000H ARRAY = 0250H ( SI ) = 1000H MOV AX, ARRAY[BP][SI] 要访问的存储单元物理地址为: 30000H+2000H +0250+1000H 30000H = 33250H
第四章 第一章 指令系统和寻址方式 基础知识
第四章 第一章 指令系统和寻址方式 基础知识
第四章 第一章 指令系统和寻址方式 基础知识
Байду номын сангаас

计算机组成原理(第三版)第 4 章 指令系统汇编

计算机组成原理(第三版)第 4 章 指令系统汇编
OP D
内存
有效地址 EA=[D]; [EA]= DATA; • 例如: ADD A,@[3050H] MOV A,@[3050H]
… EA … DATA
EA
INFO DEPT@ZUFE HANGZHOU.CHINA
5、寄存器寻址方式 ( Register Addressing )
寄存器寻址:操作数存放于指令的操作码所规定的寄存 器中即操作数位于寄存器中,操作数所在的寄存器编号 存放在指令的REG字段中。 • →速度快、指令短,操作数在CPU中; • 指令格式:
内存
有效地址 EA=[PC或IP]+D; [EA]=DATA (指令);
EA→

指令 …
D • 例如:JR SUB1-$
INFO DEPT@ZUFE HANGZHOU.CHINA

10、堆栈寻址 ( Stack Addressing )
• 操作数位于存储器中,操作数所在的存储器地址 EA由堆栈指针寄存器SP隐含指出,通常用于堆栈 指令。 • 堆栈是由若干个连续主存单元组成的先进后出( first in last out,即FILO)存储区,第一个放 入堆栈的数据存放在栈底,最近放入的数据存放 在栈顶。栈底是固定不变的,而栈顶是随着数据 的入栈和出栈在时刻变化。栈顶的地址由堆栈指 针SP指明。 • 一般计算机中,堆栈从高地址向低地址扩展,即 栈底的地址总是大于或等于栈顶的地址,称为堆 栈向上生成;堆栈寻址主要用来暂存中断和子程 序调用时现场数据及返回地址。
OP* MOD REG CPU 寄存器组
R0 … Ri
有效地址 EA=REG; [REG]= DATA; • 例如: EA→ ADD A, Ri ; MOV A, Ri ;

第四章 指令系统1

第四章  指令系统1

5、寄存器寻址方式 方法: 方法:指令中给出的操作数地址不是内存 单元的地址,而是通用寄存器的编号。 单元的地址,而是通用寄存器的编号。 有效地址E=Ri , S=(Ri) 有效地址
例: MOV AX, R1
特点:可以缩短指令字长,不访问内存, 特点:可以缩短指令字长,不访问内存, 所以速度快. 所以速度快
例: MOV AX, [8000H]
4、间接寻址 方法: 方法:指令地址字段中给出的不是操作数 的真正地址,而是操作数地址的指针 地址的指针, 的真正地址,而是操作数地址的指针, =(D) 即E=( )S= ( (D) ) =( 特点: 特点:间接寻址方式可以扩大寻址范 但由于两次访存, 围,但由于两次访存,影响指令执行 速度
4.4 指令和数据的寻址方式 一、寻址方式 1、寻址方式概念:当采用地址指定方式, 寻址方式概念:当采用地址指定方式, 在存储器中写入或读出操作数或指令字 形成操作数或指令地址的方式, 时,形成操作数或指令地址的方式,称 为寻址方式。
一、寻址方式
2、寻址方式分类 寻址方式分为:指令寻址方式和数据寻 指令寻址方式和数据寻 址方式,前者比较简单,后者比较复杂。 址方式,前者比较简单,后者比较复杂。 3、两个定义: 两个定义:
第四章 指令系统
本章提要: 本章提要: 指令系统概述(发展、作用); 指令系统概述(发展、作用); 指令格式; 指令格式; 指令类型; 指令类型; 寻址方式; 寻址方式; CISC和RISC. 和
4.1 指令系统的发展和性能要求 一、指令系统的发展 1.指令: 1.指令:就是要计算机执行某种操作的 指令 命令。 命令。 从计算机组成的层次结构来说, 从计算机组成的层次结构来说,计 算机的指令有微指令 机器指令和 微指令、 算机的指令有微指令、机器指令和宏指 之分。 令之分。

第4章 指令系统

第4章 指令系统

第 4章 指 令 系 统
4.2.5 AND LD(块串)和OR LD(块并)指令
格式:
AND LD
OR LD 功能:触点组操作指令。 AND LD指令表示对触点组进行逻辑与运算。OR LD指令表 示对触点组进行逻辑或运算。
说明:AND LD指令和OR LD指令不需要任何操作数,只表 明触点组之间的逻辑运算关系。使用这两条指令有两种方法:分 置法和后置法。两种方法可以得到相同的运算结果,但使用分置 法时触点组数是没有限制的,而采用后置法时触点组数不超过8。
第 4章 指 令 系 统
第 4章 指 令 系 统
4.1 概述 4.2 基本编程指令 4.3 编程规则 4.4 顺序控制和暂存指令 4.5 定时器和计数器应用指令 4.6 数据比较类应用指令 4.7 数据转换类应用指令 4.8 数据移位类应用指令 4.9 数据传送类应用指令 4.10 数据运算类应用指令 4.11 子程序和中断控制类应用指令 4.12 高速计数器应用指令 4.13 其他特殊应用指令 4.14 特殊运算指令 4.15 通信指令 4.16 典型应用举例
作数,该位置ON。
进位标志CY(25504): 执行运算指令时,如果结果最高位向上有进位或 借位,该位置ON。 出错标志ER(25503): 执行指令出错时该位置ON。典型的执行错误有 操作数地址错、控制字无定义等。出错标志为ON时,指令将停止执行。
第 4章 指 令 系 统
4.2 基本编程指令
4.2.1 LD和LD NOT (装入)指令
N
N
其中的操作数N也是位,它可以是IR、SR、AR、LR、HR或TC。
第 4章 指 令 系 统 功能:逻辑或运算指令。 OR表示N与前面的逻辑结果进行或运算。即N的常开触点 与前面的逻辑并联。OR NOT表示N取非并与前面的逻辑结果 进行或运算。即N的常闭触点与前面的逻辑并联。 说明:OR和OR NOT指令只能以位为单位进行操作。它
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

11:01:31
3/277
§4.1编程语言
编写计算机程序有三种不同层次的计算机语言 机器语言、汇编语言和高级语言。 机器语言 用二进制数表示的指令,是CPU唯一能够直 接识别和执行的程序形式。 缺点是不直观,不易识别、理解和记忆,因 此编写、调试程序时都不采用这种形式的语 言。
11:01:31
4/277
11:01:31
7/277
二、操作码 通常指令由操作码和操作数两部分组成。 操作码功能:表示对操作数进行什么操作。 表示形式:由英文缩写字母组成,容易理 解和记忆。 例如,MOV是数据的传送 ADD是数据的相加运算 ANL是数据的逻辑与运算
11:01:31
8/277
三、操作数 操作数功能:指出对什么数进行操作以及 将操作的结果放到何处。 操作数的表示形式:可以是参与操作的数 据,也可以是参与操作的数据所在存储器 的地址,还可以是数据所在的寄存器等不 同形式。 寻找这些不同形式的操作数的方式称为寻 址方式。
地址
指令
… 1000H
1001H 1002H 1003H 1004H …
… 74H
68H 75H F0H 73H …
11:01:31
24/277
程序执行过程
程序执行时是依次逐条取出指令执行的。 单片机内部有一个程序计数器,具有自动加一的特点, 因而指令被逐字节取出,然后译码执行。 首先取出操作码 74H,经译码得知这是一条两字节的指 令,要进行的操作是将立即数送到累加器 A 中,而操作 数是以立即数的形式放在操作码的下一个地址中,程序 计数器自动加一,将下一个地址中的数据 68H 取出来, 送到累加器A中。 程序计数器再次自动加一,指向下一条指令的第一个字 节,取出 75H ,经译码得知这是一条三字节的指令,要 进行的操作是将一个立即数送到一个寄存器中,这个寄 存器是用该指令的第二个字节 F0H 来表示的,而地址 F0H 表示的就是寄存器 B ,本条指令的第三个字节内容 就是要传送的立即数73H。 这样随着程序计数器逐次加一,每条指令被一个字节一 个字节地取出、译码和执行。
MOV A,#68H
该指令将十六进制数据68H送到累加器A中; 这条指令是两字节指令; 对应的机器码是: 74H 和 68H 两个字节,其中 74H是操作码,68H是操作数.
MOV B, #73H
该指令是将立即数73H送到寄存器B中; 是三字节指令,对应的机器码是 75H 、 F0H 和 73H三个字节,其中75H是操作码,B和73H是操 作数。
11:01:31
15/277
下面是符合上述规则的标号:
HOW MCCl 5FVM MOV NEXT_1 AA1Q MODEL?? _DELAY -F33G ? ADD XOR
下面是不符合上述规则的标号:
其中最后一行的三个标号均为指令助记 符,所以不能用做标号。1101:3116/277
标号:指令助记符 目的操作数,源操作数 ;注释
11:01:31
27/277
1、立即数寻址 定义 在指令中,指令操作所需要的操作数就在 指令中,作为指令的一个组成部分,CPU在 得到指令的同时也就立即得到了操作数。
11:01:31
28/277
例如: M0V A,#28H ;
功能:将十六进制立即数 28H 送入累加器 A 中。 指令执行后,A中为28H,A中原来的数据被覆 盖,记作:A←28H 其中,源操作数是立即数 28H ,目的操作数是 累加器A。 指令执行的操作是,将立即数 28H 送 A 。指令 的机器码为两个字节:74H,28H。
11:01:31
33/277
11:01:31
25/277
三、指令中的符号约定
在描述单 片机指令系 统时,经常 使用各种缩 写符号,各 种符号及含 义如表所示。
11:01:31
26/277
§4.3寻址方式
指令中寻找操作数的方式,称为寻址方式。 STC15F2K60S2单片机共有7种寻址方式
立即数寻址 寄存器寻址 直接寻址 寄存器间接寻址 变址寻址 相对寻址 位寻址
11:01:31
18/277
操作数提供方式:
指令给出; 在寄存器中,此时就用寄存器表示该操作数; 在存储器中,这时候就用以地址表示的存储器 表示该操作数。
操作数的含义不同就表示了几种
11:01:31
19/277
标号:指令助记符 目的操作数,源操作数 ;注释
4、注释 注释是为了阅读程序方便由编程人员加上 的,并不影响程序的执行和功能,所以, 注释部分不是必需的。 注释部分必须用分号“;”开头,一般都 写在它所注释的指令的后面,注释本身只 用于对指令功能加以说明,使阅读程序时 便于理解,所以注释可以用中文或者英文 甚至任何便于理解的字符表示。
11:01:31
2/277
§4.1 编程语言
1、指令及指令系统
指令是计算机完成某种指定操作的命令,程序是 以完成一定任务为目的指令的有序组合。指令的集 合构成指令系统。
2、指令两种形式
汇编指令的形式:人们进行编写、调试程序使用 的形式; 机器指令的形式:是机器所能识别的二进制数或 十六进制数的形式。
11:01:31
31/277
立即数寻址方式优点 采用立即数寻址方式的指令主要用来对寄 存器或存储器赋值。因为操作数可以从指令 中直接取得,不需要再到其他地方去寻找操 作数,所以,立即数寻址方式的指令执行速 度很快。
11:01:31
32/277
2、寄存器寻址 定义 指令所用的操作数在CPU的内部寄存器 中,指令中的操作数用寄存器名表示。一条 指令中,源操作数和目的操作数式,都可 以采用寄存器寻址方式。
11:01:31
5/277
高级语言(High Level Language)
优缺点:不针对某种具体的计算机,通用性强。 用高级语言编程不需了解计算机内部的结构和 原理,这种语言的形式更接近英语,对于非计 算机专业的人员比较易于掌握。高级语言程序 易读、易编写,程序结构比较简洁,大量用于 科学计算和事务处理。 用高级语言编写的源程序同样必须编译后,计 算机才能执行。编译程序比汇编程序复杂得多, 需要占用较大容量的存储器,编译的过程也要 花费更多的时间。
汇编语言(Assembly Language)
是用英文缩写形式的助记符书写的指令,地址、 数据也可用符号表示。 优缺点:与机器语言程序相比,编写、阅读和 修改都比较方便,不易出错。但用汇编语言编 写的源程序必须进行汇编。 目前,常用计算机软件自动完成汇编工作。 不同的CPU具有不同的汇编语言,一般不能通用。 在实际系统中,对程序执行速度要求较高而软 件处理功能有限的场合,以及对硬件操作有较 强的针对性的场合,常用汇编语言编程。
11:01:31
20/277
二、指令代码的存储格式 指令存储位置:程序存储器 指令由操作码和操作数组成,不同的指令 所需要的操作数的个数有可能是不同的, 所以每条指令的实际字节数不是固定的, 例如,程序中有如下两条连续存放的指令:
MOV A,#68H MOV B,#73H
11:01:31
21/277
11:01:31
29/277
假设该指令存放在物理地址为 0100H 开始的地址 中,则,机器码的存放与指令的执行过程如图所 示。
执行顺序 程序存储器地址
0100H 0101H 0102H
74H 28H
操作码 立即数 下一条指令的操作码 28H 累加器A
图4-1 MOV A,#28H 执行过程示意图
11:01:31
22/277
指令存放格式
在存储器中是以二进制数的形式、以字节为单 位按照地址递增的顺序存放的。 程序存储器中的指令机器码、数据字存放的规 则是:从低地址开始,先存放操作码,然后是 操作数。
11:01:31
23/277
假设这两条指令存放 的 起 始 地 址 是 1000H , 则存放的格式为: 左边一列表示的是 程序存储器的地址 右边一列是存放在 该地址单元中的二 进制指令。
第四章
指令系统 及汇编语言程序设计
本章学习目标 了解助记符、指令格式 掌握单片机寻址方式 掌握单片机指令系统 掌握单片机汇编语言程序设计及开发环境
11:01:31
1/277
第四章 指令系统及汇编语言程序设计语言
4.1 编程语言 4.2 指令格式及其分类 4.3 寻址方式 4.4 数据传送类指令 4.5 逻辑操作类指令 4.6 算术运算类指令 4.7 位操作指令 4.8 控制类转移指令 4.9 汇编语言程序设计 4.10 汇编语言程序调试 4.11利用ISP工具将程序下载到单片机中验证程序
11:01:31
11/277
当汇编指令中的数据是十六进制且是以字母开 头时,该数据应加一个前导 0 ,以表示后面的 字母不是变量而是数字。 在8051内核单片机中,一个数据的前面有前缀 # 号则表示后面的数据是立即数,如果数据的 前面没有 # 号,则说明该数据表示的是直接地 址。
11:01:31
12/277
11:01:31
6/277
一、助记符语言
汇编语言的指令由操作码和操作数组成。 操作码用规定的英文缩写字母组成,称为助记符。 例如:
MOV A, #76H
表示的是将十六进制的数据76H送到累加器A中, 二进制机器语言是:01110100和01110110 十六进制数是:74H,76H。 其中74H表示操作码,是指将一个数据传送到累 加器A中,被传送的数据就是操作码的下一个字节, 即76H。
2、指令助记符 指令助记符也叫做操作码,是指令名称的 代表符号,它是一条指令语句中所必需的, 不可缺少,表示本指令所要进行的操作。 例如:MOV 表示传送
11:01:31
17/277
标号:指令助记符 目的操作数,源操作数 ;注释 3、操作数 操作数是参与本条指令操作的数据,有些指令不 需要操作数,只有操作码;有些指令需要两个甚 至三个操作数。 在数据传送时,送出数据的叫做源操作数,接收 数据的叫做目的操作数。指令中,目的操作数写 在前,源操作数写在后,两操作数之间用逗号 “,”分开。有些操作数可以用表达式表示。 可以用不同的寻址方式得到操作数。
相关文档
最新文档