Low level computer concept
Table of Contents
I found an exellent post on stackoverflow explaining the differences between opcode, bytecode, mnemonic, machine code and assembly.
Original link: ‘StackOverFlow Link’
OPCODE #
It is a number interpreted by your machine(virtual or silicon) that represents the operation to perform
BYTECODE #
Same as machine code, except, its mostly used by a software based interpreter(like Java or CLR)
MNEMONIC #
English word MNEMONIC means “A device such as a pattern of letters, ideas, or associations that assists in remembering something.”. So, its usually used by assembly language programmers to remember the “OPERATIONS” a machine can do, like “ADD” and “MUL” and “MOV” etc. This is assembler specific.
MACHINE CODE #
It is the sequence of numbers that flip the switches in the computer on and off to perform a certain job of work - such as addition of numbers, branching, multiplication, etc etc. This is purely machine specific and well documented by the implementers of the processor.
Assembly #
There are two “assemblies” - one assembly program is a sequence of mnemonics and operands that are fed to an “assembler” which “assembles” the mnemonics and operands into executable machine code. Optionally a “linker” links the assemblies and produces an executable file.