Content deleted Content added
m →Sample opcode table: Fixed align left |
mv sw opcodes to bottom; cvt example cpu opcode table to subheading of CPUs |
||
Line 9:
In addition to the opcode, many instructions specify the data (known as [[operand]]s) the operation will act upon, although some instructions may have implicit operands or none.<ref name="Hennessy_2017"/> Some instruction sets have nearly uniform fields for opcode and operand specifiers, whereas others (e.g., [[x86]] architecture) have a less uniform, variable-length structure.<ref name="Hennessy_2017"/><ref name="Mansfield_1983"/> Instruction sets can be extended through opcode prefixes, which add a subset of new instructions made up of existing opcodes following reserved byte sequences.{{Citation needed|date=February 2023}}
===Sample opcode table===▼
=={{Anchor|SIS}}Software instruction sets==▼
Opcodes can be found in so-called [[byte code]]s and other representations intended for a software interpreter rather than a hardware device. These software-based instruction sets often employ slightly higher-level data types and operations than most hardware counterparts but are nevertheless constructed along similar lines. Examples include the byte code found in [[Java class file|Java class files,]] which are then interpreted by the [[Java virtual machine|Java Virtual Machine]] (JVM), the byte code used in [[GNU Emacs]] for compiled [[Lisp (programming language)|Lisp]] code, NET [[Common Intermediate Language]] (CIL), and many others.<ref name="bytecode"/>▼
▲==Sample opcode table==
This table shows opcodes of a simple 8-bit microprocessor, the [[Intel 8008]] from 1972.
Line 96 ⟶ 93:
!colspan=5|SSS DDD|| 2 || 1 || 0 ||colspan=2|CC ||ALU
|}
▲=={{Anchor|SIS}}Software instruction sets==
▲Opcodes can be found in so-called [[byte code]]s and other representations intended for a software interpreter rather than a hardware device. These software-based instruction sets often employ slightly higher-level data types and operations than most hardware counterparts but are nevertheless constructed along similar lines. Examples include the byte code found in [[Java class file|Java class files,]] which are then interpreted by the [[Java virtual machine|Java Virtual Machine]] (JVM), the byte code used in [[GNU Emacs]] for compiled [[Lisp (programming language)|Lisp]] code, NET [[Common Intermediate Language]] (CIL), and many others.<ref name="bytecode"/>
==See also==
|