一、字节码指令(Bytecode instructions)
字节码指令由标识该指令的操作码和固定数量的参数组成:
- 操作码(opcode)是一个无符号的字节值,因此是字节码名称,并由助记符标识。例如,操作码值0由助记符
NOP
设计,并且对应于不执行任何操作的指令。 - 参数(arguments)是定义精确指令行为的静态值。它们在操作码之后给出。例如,操作码值为167的GOTO标签指令将自变量标签指定为要执行的下一条指令。
指令参数不能与指令操作数混淆:参数值是静态已知的,并存储在编译的代码中,而操作数值来自操作数堆栈,并且仅在运行时才知道。
字节码指令可分为两类:
- 一小组指令旨在将值从局部变量传输到操作数堆栈,反之亦然;
- 其他指令仅作用于操作数堆栈:它们从堆栈中弹出一些值,根据这些值计算结果,然后将其推回堆栈。
ILOAD,LLOAD,FLOAD,DLOAD和ALOAD指令读取局部变量并将其值压入操