深入理解Java虚拟机之(一):指令,操作码,助记符

    (一)指令:
    指令都是二进制的,一条指令长度不一,从一些微控制器中的4位(bit)到一些超长指令字系统中的几百位。指令的种类和多少与具体的机型有关。其实如果在class文件中说0a 是一个指令也可以(如下图表示的)并有与之相对应的助记符。同时图二opcode也可以说是一个指令。
图一:
在这里插入图片描述
    (二)指令分类:操作数(二级制),操作码(二进制值)。操作码决定要完成的操作其实就是指令序列号,java虚拟机操作码的长度限制为一个字节,用来告诉CPU执行哪条指令。操作数指参加运算的数据及其所在的单元地址。

注意:
(1)因为虚拟机的操作码长度只有一个字节,所以包含了数据类型的操作码就为指令集的设计带来了很压力。如果每一种与数据类型相关的指令都支持Java虚拟机所有运行数据类型的话,那么指令的数量恐怕就超出一个字节所能表示的数量范围了,即并非每种数据类型和每一种操作都有对应的指令。
(2)大部分指令都没有支持byte,char,boolean,short,都是使用相应的对int 类型作为运算类型运行的。

    (三)助记符:
为了反映执行指令的功能所做的英文简写
图二:
在这里插入图片描述

发布了163 篇原创文章 · 获赞 9 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_41987908/article/details/103959470
今日推荐