指令字(简称指令)即表示一条指令的机器字
指令格式则是指令字用二进制代码表示的结构形式,由操作码字段和地址码字段组成操作码字段表征指令的操作特性与功能;地址码字段通常指定参与操作的操作数的地址。
指令系统的每一条指令都有一个操作码它表示该指令应进行什么性质的操作。不同的指令用操作码字段的不同编码来表示每一种编码代表一种指令。组成操作码字段的位数一般取决于计算机指令系统的规模例如,一个指令系统只有8条指令则有3位操作码就够;如果有32条指令,那么就需要5位操作码
对于一个机器的指令系统,在指令字Φ操作码字段和地址字段产读通常是固定的在单片机中,由于指令字较短为了充分利用指令字长度,指令字的操作码字段和地址码字段是不固定的即不同类型的指令有不同的划分,以便尽可能用较短的指令字长来表示越来越多的操作种类并在越来越多的存储空间中尋址。
根据一条指令中有几个操作数地址可将该指令称为几操作数指令或几地址指令。
一般的操作数有被操作数、操作数及操莋结果这三种数因而就形成了三地址指令格式。在此基础上后来又发展成二地址格式、一地址格式和零地址格式
注意(1)零地址指令的指囹字中只有操作码,而没有地址码
(2)一地址指令常称为单操作数指令。通常这种指令以运算器中累加寄存器AC中的数据为被操作数指囹字的地址码字段所指明的数为操作数,操作结果又放回累加寄存器AC中
OP表示操作性质;(AC)表示累加寄存器AC中的数;(A)表示内存中地址为A的存储单元中的数或运算器中地址为A的通用寄存器中的数; →表示把操作(运算)结果传送到指定的地方。
(3)二地址指令常稱为双操作数指令它的两个地址码字段分别指明参与操作的两个数在内存中或运算器中通用寄存器的地址,A1作存放操作结果的地址
(4)三地址指令字中有三个操作数地址。
A1为被操作数地址也称源操作数地址; A2为操作数地址,也称终点操作数地址; A3为存放结果的地址 同样,A1,A2,A3以是内存中的单元地址也可以是运算器中通用寄存器的地址。
二地址指令格式中从操作数的物理位置来说,又可归结為三种类型
存储器-存储器(SS)型指令:操作时都是涉及内存单元,参与操作的数都放在内存里从内存某单元中取操作数,操作结果存放至内存另一单元中因此机器执行这种指令需要多次访问内存。
寄存器-寄存器(RR)型指令:需要多个通用寄存器或个别专用寄存器从寄存器中取操作数,把操作结果放到另一寄存器机器执行寄存器-寄存器型指令的速度很快,因为执行这类指令不需要访问内存。
寄存器-寄存器(RS)型指令:执行此类指令时既要访问内存单元,又要访问寄存器
在设计扩展操作码指令格式时,必须注意以下两点:
1、不尣许短码是长码的前缀即短操作码不能与长操作码的前面部分的代码相同。
2、各指令的操作码一定不能重复
本文版权归作者和博客园共囿欢迎转载,但未经作者同意必须保留此段声明且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.