Difference between revisions of "Machine code"

From Wiki @ Karl Jones dot com
Jump to: navigation, search
(External links)
Line 19: Line 19:
 
== Higher-level languages ==
 
== Higher-level languages ==
  
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 [[Compiler|compilers]], assemblers and linkers.
+
Almost all practical programs today are written in [[High-level programming languages|High-level programming language|higher-level languages]] or [[assembly language]] and translated to executable machine code by utilities such as [[Compiler|compilers]], assemblers and linkers.
  
 
== Interpreted programming languages ==
 
== Interpreted programming languages ==
Line 30: Line 30:
 
== See also ==
 
== See also ==
  
 +
* [[Assembly language]]
 
* [[Compiler]]
 
* [[Compiler]]
 
* [[Computer program]]
 
* [[Computer program]]
 
* [[Computer programming]]
 
* [[Computer programming]]
 
* [[Computer science]]
 
* [[Computer science]]
 +
* [[Endianness]]
 
* [[High-level programming language]]
 
* [[High-level programming language]]
 
* [[Interpreter (computing)]]
 
* [[Interpreter (computing)]]
 +
* [[List of machine languages]]
 
* [[Low-level programming language]]
 
* [[Low-level programming language]]
 +
* [[Machine code monitor]]
 +
* [[Micro-Professor MPF-I]] - teaching machine code
 +
* [[Overhead code]]
 +
* [[P-code machine]]
 +
* [[Reduced instruction set computing (RISC)]]
 +
* [[Very long instruction word]]
  
 
== External links ==  
 
== External links ==  

Revision as of 10:18, 10 September 2016

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.

Lowest level programming language

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.

Rarely done manually

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.

Higher-level languages

Almost all practical programs today are written in High-level programming language|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:

See also

External links