第04章指令系统
第1页,共35页,2022年,5月20日,13点43分,星期五
指令
操作码:说明指令操作的性质和功能
地址码:
操作数源地址
操作结果地址
下一条指令的地址
指令 = 操作码 + 地址码 +… 1111 ZZZZ
1111 1111 0000 ZZZZ
1111 1110 ZZZZ
1111 1111 1111 0000
1111 1111 1111 1111
…
…
…
…
…
15条三地址指令
14条两地址指令
31条一地址指令
16条零地址指令
OP
A1
A2
A3
0
3
4
7
8
11
12
15
扩展操作码标志
扩展操作码标志
扩展操作码标志
第8页,共35页,2022年,5月20日,13点43分,星期五
指令字长:一个指令中包含二进制代码的位数
单字长指令:指令字长度等于机器字长度的指令
双字长指令:指令字长度等于两个机器字长度的指令
机器字长:计算机能直接处理的二进制数据的位数,通常与主存
单元的位数一致.
例:指令格式如下所示,其中OP为操作码,试分析指令格式的特点.
解:(1)单字长二地址指令(设机器字长为16位)
(2)操作码字段OP可以指定27=128条指令
(3)为RR型指令,两个操作数均在寄存器中
OP
---
源寄存器
目的寄存器
0
3
4
7
9
15
指令字长度
第9页,共35页,2022年,5月20日,13点43分,星期五
,以便能表示出所有的机器指令。在设计时应协调好操作码和地址码两者的长度。
,指令长度短一些好. 指令短占用的存储单元少,减少访存次数,提高指令的执行速度,指令长虽然可以包含更多的操作信息,增强指令系统的功能,但需占用多个存储单元,需多次访问内存才能取出该指令。
,以充分利用存储空间。
。
,通常会采用变长指令,扩展操作码和多种地址码表示形式。Intel 8086/8088指令系统中,指令长度有单、双、三、四、五、六字节六种,地址格式有0、1、2 地址三种形式。
设计一个指令系统应考虑的问题
第10页,共35页,2022年,5月20日,13点43分,星期五
寻址方式:指令中如何提供操作数或指令地址的方法.
分为指令寻址方式和操作数寻址方式.
指令的寻址方式
PC
+1
内存
地址
0
1
2
7
LDA 200
ADD 201
INC
LDA 200
PC
地址
内存
3
4
5
6
7
8
JMP 6
LDA 206
SUB 207
INC
LDA 200
指令和数据的寻址方式
第11页,共35页,2022年,5月20日,13点43分,星期五
设Data为操作数, 指令格式为:
形式地址(D):当操作数存放在主存单元中时,若指令中的地址码不能直接用来访问主存,则这样的地址码称为形式地址(或偏移量)。
有效地址(E):对形式地址进行一定计算而得到的存放操作数的主存单元地址。
:Data=D
所需的操作数由指令地址码部分直接给出,指令长,速度快,即操作数包含在指令内,操作数是固定不能修改,通常用于为主存单元和寄存储器提供常数。
OP
寻址方式 MOD
形式地址 D
操作数寻址方式
第12页,共35页,2022年,5月20日,13点43分,星期五
:指令的地址码部分给出操作数的存储单元地址,:
(1)随着主存容量不断扩大,所需地址码越来越多,导致指令长度增加;
(2)不必作寻址计算,简单并易于硬件实现;
(3)有效地址是指令的一部分,不能修改,故只能访问固定的单元
直接寻址的逻辑表达式为:
E=D Data=(E)=(D)
第04章指令系统 来自淘豆网www.taodocs.com转载请标明出处.