Machine code or machine language is a set of instructions executed directly by a computer's central processing unit (CPU). Each instruction performs a very specific task, such as a load, a jump, or an ALU operation on a unit of data in a CPU register or memory. Every program directly executed by a CPU is made up of a series of such instructions.
Numerical machine code (i.e., not assembly code) may be regarded as the lowest-level representation of a compiled or assembled computer program or as a primitive and hardware-dependent programming language.
While it is possible to write programs directly in numerical machine
code, it is tedious and error prone to manage individual bits and
calculate numerical addresses and constants manually. It is thus rarely
done today, except for situations that require extreme optimization or
debugging.
Almost all practical programs today are written in higher-level languages or assembly language and translated to executable machine code by utilities such as compilers, assemblers and linkers. Programs in interpreted languages[1] are not translated into machine code although their interpreter
(which may be seen as an executor or processor) typically consists of
directly executable machine code (generated from assembly or high level
language source code).
No comments:
Post a Comment