Skip to main content

Low level computer concept

·1 min

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.