计算机原理第4章指令系统
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
∴ 需要采用好的寻址技术!
3. 操作码格式 1) 定长操作码、变长指令码 n 位操作码最多可表示 N 个计算机指令,即:N≤2n 特点:操作码字段规整,译码简单、迅速。 指令的长度随操作码个数而变化。 (适于大、中、小型机) 例如,IBM360, Z-80, INTEL8086 等。
2) 变长操作码、定长指令码 可采用扩展操作码技术。
OP: 操作码,指出所要进行的操作;
A: 地址码,指出操作数和操作结果的地址。
指设令计的指长令度格:式的准则:
1①) 指定令长尽. 指可令能系的统短中所有的指令其长度都一样。 2②) 指变令长的. 各长指度令应的为长字度节可的以整不数同倍。; ③指令系统的向下兼容(系列机)。 指令的长度应与字长有规整的关系,一般都是字节的整
8086/8088 PC 机指令系统:(后续课程)
思考题: 独立思考 习 题Biblioteka Baidu 自己找,先独立完成,再对答案。
§4.2 寻址方式
寻址方式:由指令中形式地址确定有效地址的方法。
以单操作数为例 无寻址技术时: 有寻址技术时:
OP A OP M A
存储器地址 (有效地址) 形式地址
寻址方式
形式地址:指令中地址字段给出的地址。 (通常不能直接用来访问存储器)
STA Z ; (AC) =>Z STA 意为 Store AC
用零地址指令实现----
PUSH X ;X 内容入栈
PUSH Y ;Y 内容入栈
ADD
;栈顶两数相加,结果仍存于栈顶
POP Z ;栈顶结果送 Z 中
地址段 Ai 的长度(N)与存储器容量(M)的关系: M=2N
存在问题:① 地址段位数增长→指令过长; ② 程序设计的灵活性差。
0000 xxxx xxxx xxxx 0001 xxxx xxxx xxxx
... ... 1110 xxxx xxxx xxxx 1111 0000 xxxx xxxx 1111 0001 xxxx xxxx
... ... 1111 1110 xxxx xxxx 1111 1111 0000 xxxx 1111 1111 0001 xxxx
... ... 1111 1111 1110 xxxx
1111 1111 1111 0000 1111 1111 1111 0001
... ... 1111 1111 1111 1111
4位操作码 15 条三地址指令
8 位操作码 15 条二地址指令
12 位操作码 15 条一地址指令
16 位操作码 16 条零地址指令
常见的条件有:结果=0; 结果〉0; 结果〈0; 有进位; 有 溢出; ... ...
③子程序转移
主
OP SUB-A
子
转子时要保护现场,把
当前 PC 值先压入堆栈,然
后再 PC←SUB_A;
返回时要恢复现场,把
栈 中 原 PC 的 值 弹 出 送 给
PC。
④中断转移指令 ... ...
(7) 串操作指令 (8) 数据转换指令 (9) 处理机控制指令 (10)特权指令
数倍。
2. 地址码格式 地址码字段可以是单地址、双地址、三地址或零地址等格
式。 单地址指令 OP A 如: AC←(AC)OP(A) AC 为累加器,隐含方式 A←OP(A) 多地址指令 A3←(A1)OP(A2)
零地址指令: 操作数在栈顶和次栈顶中,或隐含指定。
例:完成 (X)+(Y)=>Z 的操作
用一条三地址指令即可---ADD X,Y,Z;
用二条二地址指令实现---ADD X,Y; (X)+(Y)=>X MOV Z,X ; (X)=>Z
例:完成 (X)+(Y)=>Z 的操作 用三条一地址指令实现----
LDA X ; (X) =>AC LDA 意为 Load AC
ADD Y ; (AC) + (Y)=>AC
(4) 逻辑运算指令 与、或、取反、异或等 (AND,OR,NOT,XOR,...)。
例:用“AND”操作完成测试某位的功能。 A=11001010 -- 被检测的操作数 B=00000001 -- 屏蔽字,要测试的位D0为1,其他位为0
(A AND B)=00000000 -- 运算结果为 0:被测试位 D0 为 0; 为 1;被测试位 D0 为 1。
有效地址:形式地址经过一定的计算而得到的能直接访 问存储器的地址。
形式地址 寻址方式 有效地址
采用寻址方式的原因: ① 操作数地址表示多样化需要; ② 压缩操作数地址字段的长度。
1. 常用的基本寻址方式 (1)立即寻址(Immediate Addressing) 指令中的地址字段存放的就是操作数。
操作码扩展方法灵活多样,可根据设计要求选取。 例:上例中,若将三地址指令设计为 14 条, 二地址指令设计为 30 条, 一地址指令设计为 31 条, 零地址指令设计为 16 条, 那么,所设计的指令系统数目可达 121 条。
4. 指令种类 与机器的用途、性能的总体要求有关。 通用型计算机其基本的操作种类有 5 种:
第 4 章 指令系统
§4.1 指令 §4.2 寻址方式 §4.3 寻址方式实例 §4.4 指令系统的发展
第 4 章 指令系统
指 令:执行某种基本操作的命令(如:加、减)。 指令系统:一台计算机能执行的全部的指令的集合。它
是软件和硬件的主要界面。
§4.1 指令
1. 指令格式
指令的基本格式:
OP A
(1) 传送指令
传送指令
MOV (复制)
数据交换指令 XCHG
入栈、出栈指令 PUSH 、POP
(2) 输入/输出(I/O)指令 主机与 I/O 设备之间的信息传送. 1)专用的 I/O 指令 2)通用的数据传送类指令 3)通过 I/O 处理机(IOP).
(3) 算术运算指令 +,-,×,/,加 1,减 1,向量运算等。(不一定都具备) ADD,SUB,MUL,DIV,INC,DEC,...
注:算逻运算除了运算结果外,还产生一些状态信息记 录在状态寄存器 PSW 中,作为条件转移指令的判定依据。
(5) 移位操作指令 算数移位(2, 2):
C
0
C
还有逻辑移位、循环移位等。
(6) 程序控制指令
①无条件转移指令 OP A 功能:PC←A (PC 为程序计数器)
②条件转移指令 判别条件:成立时 PC←A 不成立时 PC←(PC)+1
3. 操作码格式 1) 定长操作码、变长指令码 n 位操作码最多可表示 N 个计算机指令,即:N≤2n 特点:操作码字段规整,译码简单、迅速。 指令的长度随操作码个数而变化。 (适于大、中、小型机) 例如,IBM360, Z-80, INTEL8086 等。
2) 变长操作码、定长指令码 可采用扩展操作码技术。
OP: 操作码,指出所要进行的操作;
A: 地址码,指出操作数和操作结果的地址。
指设令计的指长令度格:式的准则:
1①) 指定令长尽. 指可令能系的统短中所有的指令其长度都一样。 2②) 指变令长的. 各长指度令应的为长字度节可的以整不数同倍。; ③指令系统的向下兼容(系列机)。 指令的长度应与字长有规整的关系,一般都是字节的整
8086/8088 PC 机指令系统:(后续课程)
思考题: 独立思考 习 题Biblioteka Baidu 自己找,先独立完成,再对答案。
§4.2 寻址方式
寻址方式:由指令中形式地址确定有效地址的方法。
以单操作数为例 无寻址技术时: 有寻址技术时:
OP A OP M A
存储器地址 (有效地址) 形式地址
寻址方式
形式地址:指令中地址字段给出的地址。 (通常不能直接用来访问存储器)
STA Z ; (AC) =>Z STA 意为 Store AC
用零地址指令实现----
PUSH X ;X 内容入栈
PUSH Y ;Y 内容入栈
ADD
;栈顶两数相加,结果仍存于栈顶
POP Z ;栈顶结果送 Z 中
地址段 Ai 的长度(N)与存储器容量(M)的关系: M=2N
存在问题:① 地址段位数增长→指令过长; ② 程序设计的灵活性差。
0000 xxxx xxxx xxxx 0001 xxxx xxxx xxxx
... ... 1110 xxxx xxxx xxxx 1111 0000 xxxx xxxx 1111 0001 xxxx xxxx
... ... 1111 1110 xxxx xxxx 1111 1111 0000 xxxx 1111 1111 0001 xxxx
... ... 1111 1111 1110 xxxx
1111 1111 1111 0000 1111 1111 1111 0001
... ... 1111 1111 1111 1111
4位操作码 15 条三地址指令
8 位操作码 15 条二地址指令
12 位操作码 15 条一地址指令
16 位操作码 16 条零地址指令
常见的条件有:结果=0; 结果〉0; 结果〈0; 有进位; 有 溢出; ... ...
③子程序转移
主
OP SUB-A
子
转子时要保护现场,把
当前 PC 值先压入堆栈,然
后再 PC←SUB_A;
返回时要恢复现场,把
栈 中 原 PC 的 值 弹 出 送 给
PC。
④中断转移指令 ... ...
(7) 串操作指令 (8) 数据转换指令 (9) 处理机控制指令 (10)特权指令
数倍。
2. 地址码格式 地址码字段可以是单地址、双地址、三地址或零地址等格
式。 单地址指令 OP A 如: AC←(AC)OP(A) AC 为累加器,隐含方式 A←OP(A) 多地址指令 A3←(A1)OP(A2)
零地址指令: 操作数在栈顶和次栈顶中,或隐含指定。
例:完成 (X)+(Y)=>Z 的操作
用一条三地址指令即可---ADD X,Y,Z;
用二条二地址指令实现---ADD X,Y; (X)+(Y)=>X MOV Z,X ; (X)=>Z
例:完成 (X)+(Y)=>Z 的操作 用三条一地址指令实现----
LDA X ; (X) =>AC LDA 意为 Load AC
ADD Y ; (AC) + (Y)=>AC
(4) 逻辑运算指令 与、或、取反、异或等 (AND,OR,NOT,XOR,...)。
例:用“AND”操作完成测试某位的功能。 A=11001010 -- 被检测的操作数 B=00000001 -- 屏蔽字,要测试的位D0为1,其他位为0
(A AND B)=00000000 -- 运算结果为 0:被测试位 D0 为 0; 为 1;被测试位 D0 为 1。
有效地址:形式地址经过一定的计算而得到的能直接访 问存储器的地址。
形式地址 寻址方式 有效地址
采用寻址方式的原因: ① 操作数地址表示多样化需要; ② 压缩操作数地址字段的长度。
1. 常用的基本寻址方式 (1)立即寻址(Immediate Addressing) 指令中的地址字段存放的就是操作数。
操作码扩展方法灵活多样,可根据设计要求选取。 例:上例中,若将三地址指令设计为 14 条, 二地址指令设计为 30 条, 一地址指令设计为 31 条, 零地址指令设计为 16 条, 那么,所设计的指令系统数目可达 121 条。
4. 指令种类 与机器的用途、性能的总体要求有关。 通用型计算机其基本的操作种类有 5 种:
第 4 章 指令系统
§4.1 指令 §4.2 寻址方式 §4.3 寻址方式实例 §4.4 指令系统的发展
第 4 章 指令系统
指 令:执行某种基本操作的命令(如:加、减)。 指令系统:一台计算机能执行的全部的指令的集合。它
是软件和硬件的主要界面。
§4.1 指令
1. 指令格式
指令的基本格式:
OP A
(1) 传送指令
传送指令
MOV (复制)
数据交换指令 XCHG
入栈、出栈指令 PUSH 、POP
(2) 输入/输出(I/O)指令 主机与 I/O 设备之间的信息传送. 1)专用的 I/O 指令 2)通用的数据传送类指令 3)通过 I/O 处理机(IOP).
(3) 算术运算指令 +,-,×,/,加 1,减 1,向量运算等。(不一定都具备) ADD,SUB,MUL,DIV,INC,DEC,...
注:算逻运算除了运算结果外,还产生一些状态信息记 录在状态寄存器 PSW 中,作为条件转移指令的判定依据。
(5) 移位操作指令 算数移位(2, 2):
C
0
C
还有逻辑移位、循环移位等。
(6) 程序控制指令
①无条件转移指令 OP A 功能:PC←A (PC 为程序计数器)
②条件转移指令 判别条件:成立时 PC←A 不成立时 PC←(PC)+1