指令格式知识点

机器指令使用机器字来表示的。表示一个指令的机器字,就称为指令字,通常简称指令。
指令格式,则是指令字用二进制代码表示的结构形式,通常由操作码字段和地址码字段组成。

操作码
设计计算机时,对指令系统的每一个指令都要规定一个操作码。
指令的操作码OP表示指令指令应进行什么性质的操作,如进行加法、减法、乘法、除法、取数、存数等。
不同的指令操作码字段的不同编码表示,操作码001可以规定为加法操作;操作码010可以规定为减法操作;操作码110可以规定为取数操作等。CPU的专门电路用来解释每个操作码。
组成操作码字段的位数一般取决于计算机指令系统的规模。
一个指令系统只有8条指令,有3位操作码就够了(二的三次方等于八)。
如果有32条指令,那么就需要5位操作码(二的五次方等于三十二)。
一般来说,一个包含n位的操作码最多能够表示二的N次方条指令。
对一个机器的指令系统,在指令中操作码字段和地址码字段长度通常是固定的。
在单片机中,由于指令字较短,为了充分利用指令字长度,指令字的操作码字段和地址码字段是不固定的。

地址码
根据一条指令中有几个操作数地址,可将该指令称为几操作数指令或几地址指令。
一般的操作数有被操作数、操作数及操作结构这三种数,因而就形成了三地址指令。

零地址指令的指令字中只有操作码,而没有地址码。例如停机制令就不需要地址码,因为停机操作不需要操作数。

一地址指令只有一个地址码,它指定的一个操作数,另一个操作数地址是隐含的。
以运算器中累加寄存器AC中的数据为隐含的被操作数,指令字的地址码字段所指明的数为操作数。
注意:地址码字段A指明的是操作数的地址,而不是操作数本身。
二地址指令常称为双操作数指令,它有两个地址码字段A1,A2。
三地址指令中A1,A2,A3通常制定为运算器中通用寄存器的地址,这是为了加快指令执行速度。

在二地址指令格式中,从操作数的物理位置来说,又可归结为三种类型:
第一种是访问内存的指令格式,称为存储器存储器(SS)型指令。
这种指令操作时都是涉及内存单元,即参与操作的数都放在内存里。
第二种是访问寄存器的指令格式,称为寄存器寄存器(RR)型指令。
需要多个通用寄存器或个别专用寄存器,机器执行寄存器-寄存器型指令的速度很快,因为执行这类指令,不需要访问内存。
第三种类型为寄存器-存储器(RS)型指令,既要访问内存单元,又要访问寄存器。

CISC计算机中一个指令系统中指令字的长度和指令中地址结构并不是单一的。

指令字长度
一个指令字中包括二进制代码的位数,称为指令字长度。
机器字长是指计算机能直接处理的二进制数据的位数,它决定了计算机的运算精度。
机器字长通常与主存单元的位数一致。

指令字长度等于机器字长度的指令,称为单字长指令;
指令字长度等于半个机器字长度的指令,称为半字长指令;
指令字长度等于两个机器字长的指令,称为双字长指令。

使用多字长指令的目的,在于提供足够的地址来解决访问内存任何单元的寻址问题。
多字长指定的缺点是必须两次或三次访问内存以取出一整条指令。这就降低了CPU的运行速度,同时又占用了更多的存储时间。

在一个指令系统中,如果各种指令字长度是相等的,称为等长指令字结构。
这种指令字结构简单,且指令字长度是不变的。
有的指令是单字长指令,有的指令是双字长指令,就称为变长指令字结构。
通常一个指令系统中指令的地址码个数不一定相同,为了确保指令字长度尽可能统一,可以采用扩展操作码技术,向地址码字段扩展操作码的长度。

指令助记符
由于硬件只能识别1和0,所以采用二进制操作码是必要的,但是我们用二进制来书写程序却非常麻烦。

指令格式
机器指令使用机器字来表示的。表示一个指令的机器字,就称为指令字,通常简称指令。
指令格式,则是指令字用二进制代码表示的结构形式,通常由操作码字段和地址码字段组成。

操作码
设计计算机时,对指令系统的每一个指令都要规定一个操作码。
指令的操作码OP表示指令指令应进行什么性质的操作,如进行加法、减法、乘法、除法、取数、存数等。
不同的指令操作码字段的不同编码表示,操作码001可以规定为加法操作;操作码010可以规定为减法操作;操作码110可以规定为取数操作等。CPU的专门电路用来解释每个操作码。
组成操作码字段的位数一般取决于计算机指令系统的规模。
一个指令系统只有8条指令,有3位操作码就够了(二的三次方等于八)。
如果有32条指令,那么就需要5位操作码(二的五次方等于三十二)。
一般来说,一个包含n位的操作码最多能够表示二的N次方条指令。
对一个机器的指令系统,在指令中操作码字段和地址码字段长度通常是固定的。
在单片机中,由于指令字较短,为了充分利用指令字长度,指令字的操作码字段和地址码字段是不固定的。

地址码
根据一条指令中有几个操作数地址,可将该指令称为几操作数指令或几地址指令。
一般的操作数有被操作数、操作数及操作结构这三种数,因而就形成了三地址指令。

零地址指令的指令字中只有操作码,而没有地址码。例如停机制令就不需要地址码,因为停机操作不需要操作数。

一地址指令只有一个地址码,它指定的一个操作数,另一个操作数地址是隐含的。
以运算器中累加寄存器AC中的数据为隐含的被操作数,指令字的地址码字段所指明的数为操作数。
注意:地址码字段A指明的是操作数的地址,而不是操作数本身。
二地址指令常称为双操作数指令,它有两个地址码字段A1,A2。
三地址指令中A1,A2,A3通常制定为运算器中通用寄存器的地址,这是为了加快指令执行速度。

在二地址指令格式中,从操作数的物理位置来说,又可归结为三种类型:
第一种是访问内存的指令格式,称为存储器存储器(SS)型指令。
这种指令操作时都是涉及内存单元,即参与操作的数都放在内存里。
第二种是访问寄存器的指令格式,称为寄存器寄存器(RR)型指令。
需要多个通用寄存器或个别专用寄存器,机器执行寄存器-寄存器型指令的速度很快,因为执行这类指令,不需要访问内存。
第三种类型为寄存器-存储器(RS)型指令,既要访问内存单元,又要访问寄存器。

CISC计算机中一个指令系统中指令字的长度和指令中地址结构并不是单一的。

指令字长度
一个指令字中包括二进制代码的位数,称为指令字长度。
机器字长是指计算机能直接处理的二进制数据的位数,它决定了计算机的运算精度。
机器字长通常与主存单元的位数一致。

指令字长度等于机器字长度的指令,称为单字长指令;
指令字长度等于半个机器字长度的指令,称为半字长指令;
指令字长度等于两个机器字长的指令,称为双字长指令。

使用多字长指令的目的,在于提供足够的地址来解决访问内存任何单元的寻址问题。
多字长指定的缺点是必须两次或三次访问内存以取出一整条指令。这就降低了CPU的运行速度,同时又占用了更多的存储时间。

在一个指令系统中,如果各种指令字长度是相等的,称为等长指令字结构。
这种指令字结构简单,且指令字长度是不变的。
有的指令是单字长指令,有的指令是双字长指令,就称为变长指令字结构。
通常一个指令系统中指令的地址码个数不一定相同,为了确保指令字长度尽可能统一,可以采用扩展操作码技术,向地址码字段扩展操作码的长度。

指令助记符
由于硬件只能识别1和0,所以采用二进制操作码是必要的,但是我们用二进制来书写程序却非常麻烦。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值