From b394e3b54e050488af31a819cf1156902011cd4e Mon Sep 17 00:00:00 2001
From: Didnelpsun <2675350965@qq.com>
Date: Sat, 13 Nov 2021 19:47:25 +0800
Subject: [PATCH] Update 3-instruction-system.md
---
Computer-Organization/3-instruction-system.md | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/Computer-Organization/3-instruction-system.md b/Computer-Organization/3-instruction-system.md
index fc0ca21..6782448 100644
--- a/Computer-Organization/3-instruction-system.md
+++ b/Computer-Organization/3-instruction-system.md
@@ -149,7 +149,7 @@
用于确定要执行的下一条指令的地址。始终由程序计数器$PC$给出。
-+ 顺序寻址:由$PC$自动加上某个数寻址下一个要操作的指令,注意:一般是加一个指令字长而不是单纯加一。
++ 顺序寻址:由$PC$自动加上某个数寻址下一个要操作的指令,注意:不是单纯加一。如果是按字编址就是直接加一,如果是按字节编址则是加一个指令字长。
+ 跳跃寻址:由转移指令指出。如执行到操作码为$JMP$,则跳跃到保存的地址码所指向的指令地址进行执行。跳跃地址分为绝对地址(标记符直接得到)和相对地址(相对当前地址的偏移量)。跳跃的结构是当前指令修改$PC$值,所以下一条指令仍通过$PC$给出。可实现程序的条件或无条件转移。
### 数据寻址
@@ -170,11 +170,15 @@
+ 变址寻址。
+ 堆栈寻址。
-+ 此时指令就需要由:操作码OP+寻址地址(寻址方式)+形式地址A组成。形式地址不再是实际的地址,而是指令字中的地址。
++ 此时指令就需要由:操作码$OP$+寻址地址(寻址方式)+形式地址$A$组成。形式地址不再是实际的地址,而是指令字中的地址。
+ 有效地址$EA$就是通过寻址特征和形式地址进行运算得到的。
+ 无论是有多少个地址,都必须给出成对的寻址特征和形式地址。
+ 主存地址不能为负。
+由于访存慢于访问寄存器,所以寄存器访问快于直接访问。
+
+如果采用变长指令码格式,由于要表示一定范围的立即数,立即数的指令通常需要较多的二进制位,取指时,可能需要不止一次的读内存来完成取指,因此采用变长指令码格式的时候,寄存器寻址方式的执行速度更快。但是如果采用定长指令码格式,那就是立即寻址更快了。
+
#### 隐含寻址
+ 不是明显地给出操作数的地址,而是在指令中隐含着操作数的地址。