指令系统 吴非
本章主要内容 指令系统 指令格式 寻址方式 典型指令系统 MIPS指令系统 RISC 与 CISC -2-
计算机指令系统特性 完备性:指令丰富,功能齐全,使用方便。 有效性:程序占空间小,执行速度快。 规整性: 对称性、匀齐性: 指令格式和数据格式的一 致性: 兼容性:系列机软件向上兼容 -3-
指令格式 表示一条指令的机器字,称为指令字,简称指令。 指令格式:用二进制代码表示指令的结构形式。 指令要求计算机处理什么数据? 指令要求计算机对数据做什么处理? 计算机怎样才能得到要处理的数据? 操作码字段地址码字段 指令的寻址方式需 要解决的问题 指令的操作数需要 解决的问题 指令的操作码需要解 决的问题 -4-
操作码(OP)与地址码(AC) 指令系统中每一条指令对应一个操作码 操作码的长度取决于指令系统的规模 L OP =〔log 2 n〕 定长指令、变长指令 地址码包括被操作数,操作数,操作结果 操作码字段地址码字段 -5-
指令分类方法 按计算机系统的层次结构分类 按操作数物理位置分类 按操作数个数分类 -6-
计算机系统层次结构对指令分类 微指令: 微程序级的指令,属于硬件层面 机器指令: 每一条机器指令可以完成一个独立的运算。 宏指令: 若干机器指令组成的软件指令,属于软件 -7-
传统机器级 计算机系统的层次结构 5. 高级语言级 4. 汇编语言级 3. 操作系统级 2. 一般机器级 1. 微程序设计级 -8-
按操作数的物理位置分类 访问内存 存储器-存储器( SS )型 访问寄存器 寄存器-寄存器( RR )型 访问内存和寄存器型 寄存器-存储器( RS )型 -9-
按操作数个数分类 OP A1 A2 A3 三地址指令 OP A1 A2 二地址指令 OP A1 一地址指令 OP 零地址指令 (A1)OP(A2) → (A3) (A1)OP(A2) → (A1) (AC)OP(A1) → AC 如停机,空操作,堆栈指令 -10-
指令字长度 指令中包含二进制代码的位数 与机器字的长度有关 : 单字长, 双字长, 半字长。 多字长指令 解决寻址较大存储空间的问题 取指令要多次访内, 影响速度,占用存储空间较大。 等长指令 : 结构简单,控制线路简单。 变长指令 : 结构灵活,充分利用指令长度,控制复杂 -11-
扩展指令 双操作数指令操作码不能和单操作数,无操作数指令相同,否则无 法区分,此题变成排列组合题 假设双操作数指令数为k, 显然k< K为多余状态,可以用于表示单操作数或者无操作数指令 可用于单操作数指令的条数=(2 8 -k)*2 12 , 2 12 是多余12位组合 812 双操作数 2012 单操作数 32 无操作数
指令字助记符 ADD SUB MOV JMP STR LDA -13-
PDP-11 指令格式举例 -14- OP(10bit)MODE(3)Rn(3) OP(10bit)MODE(3)Rn(3)MODE(3)Rn(3) 源操作数被操作数 寻址模式 操作数地址 单字长指令 双字长指令
寻址方式 寻找指令或操作数有效地址的方式 指令寻址 顺序寻址 跳跃寻址 操作数寻址 -15-
顺序寻址 程序的指令序列在主存顺序存放。执行时从第一条指令 开始,逐条取出并逐条执行,这种程序的顺序执行过程, 称为顺序寻址方式。 CPU中设置一个程序计数器 ( PC ) 对指令的顺序号进行 计数。 PC 中开始时存放程序的首地址,每执行一条指令, PC 加 1 ,以指出下条指令的地址,直到程序结束。 PC++ 准确应该是加上当前指令的长度 PC存放下一条指令的地址 -16-
顺序寻址过程 100 Inc AX add ax,bx PC 内存 OP MSMS MSMS RSRS RSRS MdMd MdMd RdRd RdRd -17-
跳跃寻址 当程序中出现分支或循环时,就会改变程序的执行顺 序。此时对指令寻址就要采取跳跃寻址方式。 所谓跳跃,就是指下条指令的地址不是通过程序计数 器 PC 当前值获得的,而是由指令本身给出。 跳跃的处理方式是重新修改 PC 的内容。然后进入取指 令阶段。 -18-
跳跃寻址过程 IR 100 JMP 103 MOV AX,BX PC 内存 JMP 103 指令寄存器 IR MOV AX,BX
操作数的寻址方式 形成操作数有效地址的方法。 单地址指令地址码的构成: X, I,D 实际有效地址为 E, 实际操作数 S S= (E) -20- OP X X I I D D 操作码变址位 形式地址 间址位
寻址方式分类 立即寻址 直接寻址 间接寻址 寄存器寻址 寄存器间接寻址 相对寻址 变址寻址 复合寻址 -21-
立即寻址 地址码字段是操作数本身 S=D 例: MOV AX,2038H (2038H→AX) Little-Endian 内存 AX MOV H
寄存器寻址(Register Addressing) 操作数在 CPU 的内部寄存器中. AX,BX,CX,DX MOV AX, BX E=R x2000 0x4FFF BX AX 0x2000 MOV
直接寻址 ( Direct Addressing) 地址码字段直接给出操作数在内存的地址. E=D MOV AX, [200] OP X X D D 内存 MOV
间接寻址(Indirect Addressing) D单元的内容是操作数地址, D是操作数地址的地址 E=(D) 需要访问两次内存, 速度慢 已被淘汰 OPXD 内存 MOV
寄存器间接寻址 (Register Indirect Addressing) D单元的内容是操作数的地址,D是操作数地址的地址 E=(R) MOV AX, [BX] R OPXR 内存 MOV
相对寻址 (Relative Addressing) 指令中的D加上PC的内容作为操作数的地址. E=D+(PC) PC 2200 程序指令计数器 OPX200 XXX 2200 内存 JMP
变址寻址 (Index Addressing)---数组访问 指定一个寄存器R,其存放基址,R被称为变址寄存器。它与本指令的 地址无关, R的内容可以随要求填入。 指定一个寄存器R,其存放基址,R被称为变址寄存器。它与本指令的 地址无关, R的内容可以随要求填入。 E=D+(R) E=D+(R) MOV AX, 32[SI] SI,DI 都称为变址寄存器 MOV AX, 32[SI] SI,DI 都称为变址寄存器 操作数 R RR R 3032 OPX32 内存 MOV
复合寻址 (Composite Addressing) 将间址,相对,变址,基值等寻址方式组合. 变址间址 先变址,后间址. E=((R)+D) 操作数 OPXD =
MOV H MOV MOV MOV JMP MOV MOV 立即寻址 寄存器寻址 直接寻址 间接寻址 寄存器间接 相对寻址 变址寻址 0~ ~127 0~255# Reg 0~255 RAM Cell 0~ RAM Cell PC-128~PC+127 0~ RAM Cell 操作码5bit 寻址模式 形式地址D 8bit 寻址范围 不同寻址方式对比 S=D E=R E=D E=(D) E=(R) E=PC+D E=R+D 实地址E -30-
堆栈寻址方式 堆栈 一组能存取数据的暂时存储单元。 串联堆栈 一组专门的寄存器 数据的传送在栈顶和通用寄存器之间进行。 快速:在CPU内部实现 串行:进栈和出栈涉及到栈内所有其它数据的移动; 栈容量有限:取决于CPU内堆栈专用寄存器的数量; 栈顶不动,数据移动。 内存堆栈 -31-
堆栈寻址方式 AX BX AX CX BX AX PUSH AX PUSH BX PUSH CX CX BX AX POP CX 堆栈顶 -32-
存储器堆栈 用一部分主存空间作堆栈称为存储器堆栈。 堆栈的数目、长度可随意指定 SP---堆栈指示器(栈指针), CPU中一个专门寄存器,SP内容是 栈顶单元地址。改变SP内容即可移动栈顶的位置。 堆栈操作期间,堆栈中数据不动,栈顶移动 非破坏性读出 -33-
进栈 进栈 累加器中的数送堆栈保存. (AC) →堆栈 MSP 堆栈指针 (sp) -1 →sp -34- a PUSH a PUSH b PUSH c SP a b b AC
出栈 出栈 将堆栈中的数取出送累加器 堆栈指针(sp) +1 → sp (堆栈MSP)→ AC SP a b b AC a
8088/8086典型指令 数据传送类 取数 MOV AX , TEMP 存数 MOV TEMP , AX 传送 MOV AX , CX 算术运算类 定点+,-, × , ÷ ADD , ADC , INC , SUB , DEC MUL , DIV 等 浮点+,-, × , ÷ ,求反,求补 NEG ,比较 逻辑运算类 NOT , AND , OR , XOR , TEST -36-
8088/8086典型指令 程序控制类 无条件转移 JMP 条件转移 C,Z,N,P,V 转子程序 JSR 子程序返回 RET 中断返回 IRET 输入/输出类 IN AX,n OUT n, AX 字符串处理 字符串传送、转换、比较、查找 特权指令: 系统资源的分配和管理 其他类 标志操作:CLC(clear carry flag) CLI (clear interrupt elable flag) HLT,WAIT,ESC,LOCK -37-
38 例 3 某计算机采用双字节长指令, 内存基于字节寻址, 指令中的数据采用补 码表示, 且 PC 的值在取指阶段完成修改. 完成下列相对寻址的问题. 1) 若某采用相对寻址指令的当前地址为 2003H, 且要求转移后的目标地址 为 200AH, 则该相对寻址指令的形式地址字段的值为多少 ? 2) 若某采用相对寻址的指令的当前地址为 2008H, 且要求转移后的目标地 址为 2001H, 则该相对寻址指令的形式地址字段的值为多少 ? 解:解: 1)200AH – (2003H +2) = 5H ( ) 2)2001H – (2008H +2) = -9 ( 即 F7H) 若计算机字长 32 位, 且 PC 的值在取指阶段修改, 情况如何 ?
MIPS 指令系统 -39-
汇编语言 CPU主要工作:执行指令 指令是CPU执行最主要的操作 不同类型的CPU执行不同指令集 Instruction Set Architecture (ISA). Intel 80x86 (Pentium 4), IBM/Motorola PowerPC (Macintosh), MIPS, Intel IA64,
MIPS体系结构 MIPS公司发布了第一个商用RISC结构 本课程将讨论MIPS的一些细节 为什么选择MIPS而不是Intel 80x86? MIPS简洁雅致,不会陷入繁琐的细节. MIPS广泛应用于嵌入式应用 X86平台主要应用于PC领域 -41-
汇编语言的变量---寄存器 汇编语言不能使用变量(C、JAVA可以) Int a; float b; 寄存器变量没有数据类型 汇编语言的操作对象是寄存器 好处:寄存器是最快的数据单元 缺陷:寄存器数量有限 编程必须小心,仔细的高效使用各寄存器 MIPS寄存器字长---32bits= 1 Word MIPS指令集包括32个通用寄存器 32 registers in MIPS $0, $1, $2, … $30, $
32个MIPS寄存器 寄存器编号MIPS助记符释义备注 0$Zero固定值为0硬件置位 2~3$v0~$v1函数调用返回值 4~7$a0~$a3函数调用参数4个参数 8~15$t0~$t7暂存寄存器8个参数 16~23$s0~$s7通用寄存器调用之前需保存 24~25$t8~$t9暂存寄存器2个2个 28$gp全局指针 29$sp堆栈指针 30$fp帧指针 31$ra函数返回地址 1$at汇编器保留 26~27$k0~$k1操作系统保留 -43-
加减指令 加法 a = b + c (in C) add $s0,$s1,$s2 (in MIPS) C语言变量a, b, c编译后对应寄存器 $s0,$s1,$s2 减法 d = e – f (in C) sub $s3,$s4,$s5 (in MIPS) C语言变量d, e, f编译后对应寄存器 $s3,$s4,$s5 -44-
加减指令 如何编译下面的C语言表达式? a = b + c + d - e; 编译成多行汇编指令 add $t0, $s1, $s2 # temp = b + c add $t0, $t0, $s3 # temp = temp + d sub $s0, $t0, $s4 # a = temp - e 一个简单的C语言表达式变成多行汇编语句 #号后面是注释 -45-
内存数据访问指令lw sw lb sb lh sh 读内存指令 g = h + A[8] ; (in C) lw $t0,32($s3) # $s3 为A[0]地址 (in MIPS) add $s1,$s2,$t0 # g=h+A[8] 变址寻址 偏移量+基址寄存器 写内存指令 A[12] = h + A[8] ; lw $t0,32($t3) # get A[8] (in MIPS) add $t0,$s2,$t0 # A[12]=h+A[8] sw $t0,48($s3) #store A[12] -46-
加立即数 常数相加指令 g = g + 4 ; (in C) Lw $t0, 0($s3) # $t0=4 $s3=Address(4) add $s1,$s1,$t0 # g=g+4 立即数相加指令 addi $s3,$s3,4 # $s3=$s3+4 (in MIPS) 指令实例语义注释 加 add $s1,$s2,$s3$s1=$s2+$s3 寄存器寻址 减 sub $s1,$s2,$s3$s1=$s2-$s3 寄存器寻址 加立即数 addi $s1,$s2,100$s1=$s2+100 寄存器寻址+立即数寻址 取字 lw $s1,100($s2)$s1=Mem[$s2+100] 寄存器寻址+变址寻址 存字 sw $s1,100($s2)Mem[$s2+100]=$s1 寄存器寻址+变址寻址 -47-
条件判断指令 beq reg 1,reg 2,label C语言条件判断指令 If (a==b) { i=1; } else { i=2; } 等效C指令 If (a==b) goto L1; i=2; goto L2; L1:i=1; L2: 等效MIPS指令 beq $s0,$s1,L1 addi $s3,$Zero,2 j L2; L1:addi $s3,$Zero,1 L2: MIPS数据传送指令 addi $s3,$Zero,1 # $s3=1 add $s3,$s2,$Zero # $s3=$s2 -48-
MIPS 条件判断指令 条件跳转 If (reg 1 ==reg 2 ) goto Label 1 (C 语言 ) beq reg 1,reg 2,Label 1 (MIPS 指令 ) bne reg 1,reg 2,Label 2 无条件跳转指令 goto Label ; (C 语言 ) J label (MIPS 指令 ) beq $Zero,$Zero,label (MIPS 指令 ) -49-
逻辑运算 移位指令 a=b<<2; C 语言 sll $s1,$s2,2 # shift left srl $s1,$s2,2 # shift right 逻辑运算 and $t0,$t1,$t2 # t0=t1&t2 or $t0,$t1,$t2 # t0=t1|t2 andi $t0,$t1,100 # t0=t1&100 ori $t0,$t1,100 # t0=t1|
循环结构 C语言简单循环结构,A为int数组 do { g = g + A[i]; i = i + j; } while (i != h); 重写代码 Loop:g = g + A[i]; i = i + j; if (i != h) goto Loop; 编译后的变量映射: ghijA[0] $s1$s2$s3$s4$s5 -51-
循环结构 最后编译的MIPS代码: Loop: sll $t1,$s3,2 # $t1= 4*I addu $t1,$t1,$s5 # $t1=addr A+4i lw $t1,0($t1) # $t1=A[i] addu $s1,$s1,$t1 # g=g+A[i] addu $s3,$s3,$s4 # i=i+j bne $s3,$s2,Loop # goto Loop # if i!=h 原始C代码: Loop:g = g + A[i]; i = i + j; if (i != h) goto Loop; -52-
比较指令 slt slti MIPS比较指令(Set on Less Than) slt reg 1,reg 2,reg 3 if (reg 2 < reg 3 ) ( C 语言) reg 1 = 1; else reg 1 = 0; If (g<h) goto Less; (用slt,bne 两条指令实现) slt $t0,$s0,$s1 # $t0 = 1 if g<h bne $t0,$0,Less # goto Less # if $t0!=0 # (if (g<h)) Less: -53-
MIPS过程调用 C语言函数调用 int function(int a,int b) { return (a+b); } MIPS实现过程调用的机制 返回地址寄存器 $ra 参数寄存器 $a0, $a1, $a2, $a3 返回值寄存器 $v0 $v1 局部变量 $s0~$s7 堆栈指针 $sp -54-
过程调用实现机制 sum(a,b); /* a,b:$s0,$s1 */ } int sum(int x, int y) { return x+y; } 1000 add $a0,$s0,$zero # x = a 1004 add $a1,$s1,$zero # y = b 1008 addi $ra,$zero,1016 # $ra= j sum # 跳转,调用过程 sum 1016 … 2000 sum: add $v0,$a0,$a1 # 过程入口 2004 jr $ra # new # 返回主程序 instruction J jal sum jal sum
过程调用机制 JAL Label #link and jump 等效于如下指令 $ra=PC+4; #save next instruction address J Label 过程返回指令 Jr $ra #return to main program 问题:利用 $ra 做返回地址,如果过程嵌套如何返回? $ra 会被多次覆盖 利用堆栈保存 $ra -56-
多级过程调用 int sumSquare(int x, int y) {return mult (x,x)+ y; } 主程序调用 sumSquare(x , y), sumSquare 调用 mult(x,y). 调用 sumSquare(x , y) 时 $ra 保存一次,保证该过程执 行完毕后能返回主程序。 但调用 mult 时会覆盖 $ra 在调用 mult 时需要保存 sumSquare 的返回地址 -57-
堆栈操作 sumSquare: addi $sp,$sp,-8 # space on stack sw $ra, 4($sp) # save ret addr sw $a1, 0($sp) # save y add $a1,$a0,$zero # mult(x,x) jal mult # call mult lw $a1, 0($sp) # restore y add $v0,$v0,$a1 # mult()+y lw $ra, 4($sp) # get ret addr addi $sp,$sp,8 # restore stack jr $ra mult:... 注意:除了返回地址以外,函数参数等会覆盖的变量都需要入栈 “push” “pop” -58-
32位定长MIPS指令格式(R型指令) OP:指令的基本操作---操作码 Rs:第一个源操作数寄存器 Rt:第二个源操作寄存器 Rd:存放结果的目的操作寄存器 Shamt:偏移量,用于移位指令 Funct:函数,对操作码进行补充 OP RSRS RSRS RtRt RtRt shamt RdRd RdRd 6bits funct 5bits 6bits R 型指令 -59-
MIPS指令格式 (R型指令) 6bits5bits 6bits 指令格式OPrsrtrdshamtfunct addR0 Reg sub减R0 Reg andR0 Reg 36 orR0 Reg 37 nor R 0 Reg 39 sllR0 Reg 0 srlR0 Reg 2 jrR0 REG00 08 addR add $s1,$s2,$s3 # machine code 0x
MIPS指令格式 (I、J型指令) 6bits5bits 6bits 指令格式OPrsrtrdshamtfunct addR0 Reg addiI8 Reg 16bits 立即数 lwI35 Reg 16bits 立即数 swI43 Reg 16bits 立即数 andi I 12 Reg 16bits 立即数 oriI13 Reg 16bits 立即数 beqI4 Reg 16bits 立即数(相对寻址) bneI5 Reg 16bits 立即数(相对寻址) jJ2 26bit 立即数(伪直接寻址) jalJ3 26bit 立即数(伪直接寻址) -61-
MIPS指令格式 OP RSRS RSRS RtRt RtRt shamt RdRd RdRd 6bits funct 5bits 6bits OP RSRS RSRS RtRt RtRt 6bits 立即数 5bits 16bits OP 6bits 立即数 26bits R 型指令 I 型指令 J 型指令 -62-
MIPS寻址方式总结 寄存器寻址 基址寻址 立即数寻址 PC相对寻址 beq req1,req2,label 16位偏移地址左移两位+PC 伪直接寻址 J label 26位偏移地址+PC高4位 30位字地址 -63-
指令系统发展方向 CISC--- 复杂指令系统计算机 Complex Instruction System Computer 指令数量多,指令功能,复杂的计算机。 RISC--- 精简指令系统计算机 Reduced Instruction System Computer 指令数量少,指令功能单一的计算机。 -64-
高级语言中各种语句的动态出现频度 PascalC 赋值语句 4538 循环语句 53 程序调用语句 1512 判断语句 2943 直接转移语句 – 3 其它
精减指令系统(RISC) 选取使用频率最高的一些简单指令,指令条数少; 寻址方式简单 指令长度固定,指令格式简单 CPU设置大量寄存器 只有存/取数指令才能访问存储器, 其余指令的操作都在寄存器之间进行. 每一个机器周期完成一条机器指令。 -66-
CISC与RISC的比较 特 征 CISCRISC IBM 370/16 8 VAX 11/78 0 Intel SPARC MIPS R4000 开发年份 指令数量 / 条 指令长度 /B2~62~62~52~51 ~ 寻址方式 通用寄存器数 / 个 ~ 控制存储器大小 /Kb -- Cache 大小 /KB
典型 RISC 机指令系统 机器型号指令数寻址方式指令格式通用寄存器数 RISC-I RISC-II MIPS SPARC MIPSR i
例1. 字长16位,主存64K,指令单字长单地址,80条指令。寻址方 式有直接、间接、相对、变址。请设计指令格式。 解: 80条 log[80]=7 采用7位操作码 寻址方式4种 采用2位 PC为16位 变址寄存器16位 相对寻址 E=(PC)+D 变址寻址 E=(R)+D -69- OPD
-70- 答:指令格式及寻址方式的特点如下: 1)单字长二地址指令; 2)操作码可指定16条指令; 3)源和目的均有8种寻址方式; 4)源地址寄存器和目的地址寄存器均有8个; 5)可寻址范围为1~64K 2.分析以下指令格式及寻址方式特点? OP 寻址方式寄存器寻址方式寄存器 源地址 目标地址
OP X X D=100 PC=1000 R 基 =2000 寻址方式 X 操作数 立即 0100 直接 1200 间接 2500 相对 3100 变址 变址间址 5500 有效地址 E S=D E=D=100 E=(D)=200 E=PC+D=1100 E=(R)+D=2100 E=((R)+D)=200 3 .设某机的指令格式、有关寄存器和主存内容如下, X 为寻址方式, D 为形式地址,请在下表中填入有效地址 E 及操作数的值 。 ? -71-
OP MSMS MSMS RSRS RSRS MdMd MdMd RdRd RdRd 源操作数目的操作数 M s /M d 寻址方式助记符含义 000B 寄存器直接 RnRn 操作数 =(R n ) 001B 寄存器间接 (R n ) 操作数 =((R n )) 010B 寄存器间接,自增 (R n )+ 操作数 =((R n )),(R n )+1→(R n ) 011B 相对 D(R n ) 转移目标地址 =(PC)+(R n ) 注 (x) 表示存储器地址 x 或寄存器 x 的内容 (11 分 ) 某计算机字长为 16 位,主存地址空间大小为 128KB ,按字编址。采用单 字长指令格式,指令各字段定义如下: 10 年研究生统考 转移地址采用相对寻址方式,相对偏移量用补码表示。寻址方式定义如下: ( 1 )该指令系统最多可有多少条指令?该计算机最多有多少个通用寄存器? 存储器地址寄存器 MAR 和存储器数据寄存器 MDR 至少需要多少位?
OP MSMS MSMS RSRS RSRS MdMd MdMd RdRd RdRd 源操作数目的操作数 M s /M d 寻址方式助记符含义 000B 寄存器直接 RnRn 操作数 =(R n ) 001B 寄存器间接 (R n ) 操作数 =((R n )) 010B 寄存器间接,自增 (R n )+ 操作数 =((R n )),(R n )+1→(R n ) 011B 相对 D(R n ) 转移目标地址 =(PC)+(R n ) 注 (x) 表示存储器地址 x 或寄存器 x 的内容 (11 分 ) 某计算机字长为 16 位,主存地址空间大小为 128KB ,按字编址。采用单 字长指令格式,指令各字段定义如下: 转移地址采用相对寻址方式,相对偏移量用补码表示。寻址方式定义如下: ( 2 )转移指令的目标地址范围是多少?
M s /M d 寻址方式助记符含义 000B 寄存器直接 RnRn 操作数 =(R n ) 001B 寄存器间接 (R n ) 操作数 =((R n )) 010B 寄存器间接,自增 (R n )+ 操作数 =((R n )),(R n )+1→(R n ) 011B 相对 D(R n ) 转移目标地址 =(PC)+(R n ) (11 分 ) 某计算机字长为 16 位,主存地址空间大小为 128KB ,按字编址。采用单 字长指令格式,指令各字段定义如下: ( 3 )若操作码 0010B 表示加法操作,助记符为 add ,寄存器 R4 , R5 的编号 分别为 100B 和 101B , R4 的内容为 1234H , R5 的内容为 5678H ,地址 1234H 中 的内容为 5678H ,地址 5678H 中的内容为 1234H ,则汇编语句 add (R4),(R5)+ 逗号前为源操作数,逗号后为目的操作数,对应的机器码是多少?用十六 进制表示。该指令执行以后,哪些寄存器和存储单元的内容会发生改变? 改变后的内容是什么?
本章重点内容 指令系统基本概念 指令基本格式 指令系统寻址方式 -75-