4.2指令格式

指令格式,则是指令字用二进制代码表示的结构形式,通常由操作码字段和地址码字段组成。

1:操作码

设计计算机时,对指令系统的每一个指令都要规定一个操作码。

指令的操作码OP表示指令指令应进行什么性质的操作,如进行加法、减法、乘法、除法、取数、存数等。

不同的指令操作码字段的不同编码表示,操作码001可以规定为加法操作;操作码010可以规定为减法操作;操作码110可以规定为取数操作等。CPU的专门电路用来解释每个操作码。

组成操作码字段的位数一般取决于计算机指令系统的规模。

一个指令系统只有8条指令,有3位操作码就够了(二的三次方等于八)。

如果有32条指令,那么就需要5位操作码(二的五次方等于三十二)。

一般来说,一个包含n位的操作码最多能够表示二的N次方条指令。

对一个机器的指令系统,在指令中操作码字段和地址码字段长度通常是固定的。

在单片机中,由于指令字较短,为了充分利用指令字长度,指令字的操作码字段和地址码字段是不固定的。

2:地址码

根据一条指令中有几个操作数地址,可将该指令称为几操作数指令或几地址指令。

一般的操作数有被操作数、操作数及操作结构这三种数,因而就形成了三地址指令。

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

一地址指令只有一个地址码,它指定的一个操作数,另一个操作数地址是隐含的。

以运算器中累加寄存器AC中的数据为隐含的被操作数,指令字的地址码字段所指明的数为操作数。

注意:地址码字段A指明的是操作数的地址,而不是操作数本身。

二地址指令常称为双操作数指令,它有两个地址码字段A1,A2。

三地址指令中A1,A2,A3通常制定为运算器中通用寄存器的地址,这是为了加快指令执行速度。指令字长度

3:一个指令字中包括二进制代码的位数,称为指令字长度。

机器字长是指计算机能直接处理的二进制数据的位数,它决定了计算机的运算精度。

机器字长通常与主存单元的位数一致。

指令字长度等于机器字长度的指令,称为单字长指令;

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

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

使用多字长指令的目的,在于提供足够的地址来解决访问内存任何单元的寻址问题。

多字长指定的缺点是必须两次或三次访问内存以取出一整条指令。这就降低了CPU的运行速度,同时又占用了更多的存储时间。

在一个指令系统中,如果各种指令字长度是相等的,称为等长指令字结构。

这种指令字结构简单,且指令字长度是不变的。

有的指令是单字长指令,有的指令是双字长指令,就称为变长指令字结构。

通常一个指令系统中指令的地址码个数不一定相同,为了确保指令字长度尽可能统一,可以采用扩展操作码技术,向地址码字段扩展操作码的长度。

4:指令助记符

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

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值