Content deleted Content added
No edit summary |
cleaned up this page - wow, it really needed that |
||
Line 1:
{{cleanup}}
Opcode stands for '''Op'''eration '''Code'''. Opcodes operate on [[processor register|registers]], values in [[memory]], values stored on the [[Stack (computing)|stack]], [[I/O]] ports, the [[Computer bus|bus]], etc.
Another term for opcodes is [[Byte code]]
As an example let's design a crude 4-bit microprocessor.▼
▲As an example let's design a crude 4-bit [[microprocessor]].
*First: All registers, ALUs, counters, and addresses must have a data path of 4-bits.
Below is a diagram of the opcodes of the micorprocessor:
op-codes mnemonic operations explanation
000 ADD add A to B and store in b
Line 21 ⟶ 19:
111 end end program
the desired operations are performed. <!-- This is a better explanation then whats below..cleanUpLater.. -->
▲, each of which is assigned a numeric code called an '''opcode'''. To assist in the use of these numeric codes, [[mnemonic]]s are used as textual abbreviations. It's much easier to remember ADD than 05, for example.
▲Opcodes operate on [[processor register|registers]], values in [[memory]], values stored on the [[Stack (computing)|stack]], [[I/O]] ports, the [[Computer bus|bus]], etc. They are used to perform arithmetic operations and move and change values. Operands are the things that opcodes operate on.
▲[[Byte code]]s are another term for opcodes, especially when they are used to describe higher level constructs as is the case with the [[Java programming language|Java Language]]'s JVM ([[Java Virtual Machine]]). For instance, byte code 1A might be the "iconst_2" instruction which pushes the number 2 on the stack. This is a slightly higher level of abstraction than opcodes, which might need to load the number 2 into a register, and then push the register's value on the stack.
==See also==
* [[Machine language]]
|