==CPUs==
Opcodes are found in the instructions of CPUs as well as in some [[virtual machine#Process virtual machines|abstract computing machines]]. In CPUs, an opcode may be referred to as '''instruction machine code'''<ref name="Intel_1973_MCS-4"/>, '''instruction code'''<ref name="Intel_1974_MCS-40"/>, '''instruction syllable'''<ref name="Jones_1988_CISC"/><ref name="Domagała_2012"/><ref name="Smotherman_2013"/><ref name="Jones_2016_CISC"/>, '''instruction parcel''' or '''opstring'''<ref name="Schulman_2005"/><ref name="Chiba_2007"/>. BesideFor theany opcodeparticular itself,processor most(which instructionsmay alsobe specifya thegeneral dataCPU theyor willa process,more whichspecialized areprocessing calledunit), [[operand]]s.the Opcodesopcodes are founddefined inby the instructionsprocessor's of[[instruction CPUsset asarchitecture]] well(ISA)<ref asname="Hennessy_2017"/>, inand somecan [[virtualbe machine#Processdescribed virtualby machines|abstractmeans computingof machinesan [[opcode table]].
ForIn anyaddition particularto processorthe (whichopcode, maymany beinstructions aalso generalspecify CPUthe ordata a(known moreas specialized[[operand]]s) processingthe unit)operation will act upon, thealthough opcodessome areinstructions definedmay byhave theimplicit processor'soperands [[instructionor setnone architecture]]at (ISA)all.<ref name="Hennessy_2017"/> OpcodesThe fortypes aof particularoperations ISAmay caninclude be[[arithmetic]], describeddata by means of ancopying, [[opcodelogical tableoperation]]s, whichand listsprogram detailscontrol, ofas allwell possibleas opcodesspecial instructions (e.g., [[CPUID]]).<ref name="Hennessy_2017"/> Some instruction sets have nearly uniform fields for opcode and operand specifiers, whereas others (e.g., [[x86]] architecture) have a moreless complicateduniform, variable-length structure.<ref name="Hennessy_2017"/><ref name="Mansfield_1983"/> Instruction sets can be extended through the use of opcode prefixes which add a subset of new instructions made up of existing opcodes following reserved byte sequences.{{Citation needed|date=February 2023}}
Apart from the opcode itself, an instruction normally also has one or more specifiers for operands on which the operation should act, although some operations may have ''implicit'' operands, or none at all.<ref name="Hennessy_2017"/> Depending on architecture, the operands may be [[processor register|register]] values, values in the [[call stack|stack]], other [[memory]] values, [[I/O]] ports (which may also be [[Memory-mapped I/O|memory mapped]]), etc., specified and accessed using more or less complex [[addressing mode]]s.{{citation needed|date=October 2015}} The types of operations include [[arithmetic]], data copying, [[logical operation]]s, and program control, as well as special instructions (such as [[CPUID]] and others).<ref name="Hennessy_2017"/>
=={{Anchor|SIS}}Software instruction sets==
|