Opcode: Difference between revisions

Content deleted Content added
Ap (talk | contribs)
broken off from Byte-code
 
m Andre Engels: Robot-assisted disambiguation Stack
Line 1:
A computer can perform operations. Each operation is assigned a numeric code. These codes are called an '''Opcode'''. Since humans are terrible at memorizing lots of similar numeric codes, [[mnemonic]]s are used as a textual abbreviation. It's much easier to remember ADD than it is 05, for instance.
 
Opcodes operate on [[register]]s, values in [[memory]], values stored on the [[Stack (computing)|stack]], i/o ports, the 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 op codes, 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.