Difference between revisions of "Machine code"
Karl Jones (Talk | contribs) |
Karl Jones (Talk | contribs) |
||
Line 12: | Line 12: | ||
Almost all practical programs today are written in [[High-level programming languages|higher-level languages]] or [[assembly language]] and translated to executable machine code by utilities such as compilers, assemblers and linkers. | Almost all practical programs today are written in [[High-level programming languages|higher-level languages]] or [[assembly language]] and translated to executable machine code by utilities such as compilers, assemblers and linkers. | ||
+ | |||
+ | == Interpreted programming languages == | ||
Programs in interpreted languages are not translated into machine code although their [[Interpreter (computing)|interpreter]] (which may be seen as an executor or processor) typically consists of executable machine code generated from either: | Programs in interpreted languages are not translated into machine code although their [[Interpreter (computing)|interpreter]] (which may be seen as an executor or processor) typically consists of executable machine code generated from either: | ||
* Assembly | * Assembly | ||
− | * [[Source code]] in a [[High-level programming language]]) | + | * [[Source code]] in a [[High-level programming language]]) |
== See also == | == See also == |
Revision as of 09:22, 2 September 2015
Machine code or machine language is a set of instructions executed directly by a computer's central processing unit (CPU).
Description
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.
Interpreted programming languages
Programs in interpreted languages are not translated into machine code although their interpreter (which may be seen as an executor or processor) typically consists of executable machine code generated from either:
- Assembly
- Source code in a High-level programming language)
See also
- Compiler
- Computer program
- Computer programming
- Computer science
- High-level programming language
- Interpreter (computing)
- Low-level programming language
- Machine code
External links
- Machine code @ Wikipedia