Machine language
Dan Tobias (Talk | contribs) |
m |
||
(2 intermediate revisions by one user not shown) | |||
Line 3: | Line 3: | ||
|subcat=Programming Languages | |subcat=Programming Languages | ||
}} | }} | ||
− | |||
'''Machine language''' is the low-level language that is executed directly by a processor (CPU). It consists of a series of raw bytes that generally do not look meaningful as [[ASCII]] text, unlike the [[source code]] of most programming languages. A machine language program is stored directly as a binary [[Executables|executable file]] which can be run on the target machine. [[Assembly language]] is one step up from machine language, consisting of more human-readable code which assembles into machine language. Still-higher-level languages like [[C]] or [[BASIC]] are either compiled into machine language, compiled into intermediate code of some sort, or run by an interpreter, but eventually they become machine language instructions because that is all the processor understands directly. | '''Machine language''' is the low-level language that is executed directly by a processor (CPU). It consists of a series of raw bytes that generally do not look meaningful as [[ASCII]] text, unlike the [[source code]] of most programming languages. A machine language program is stored directly as a binary [[Executables|executable file]] which can be run on the target machine. [[Assembly language]] is one step up from machine language, consisting of more human-readable code which assembles into machine language. Still-higher-level languages like [[C]] or [[BASIC]] are either compiled into machine language, compiled into intermediate code of some sort, or run by an interpreter, but eventually they become machine language instructions because that is all the processor understands directly. | ||
− | Machine language is actually not the very lowest-level language; there are "microcode" instructions embedded within processor chips that actually carry out the instructions of machine language by breaking them up into even more primitive operations, but only chip designers need to worry about that level. | + | Machine language is actually not the very lowest-level language; there are "[[microcode]]" instructions embedded within processor chips that actually carry out the instructions of machine language by breaking them up into even more primitive operations, but only chip designers need to worry about that level. |
Few programmers deal directly with machine language, either; while at one point in the old days "geeks" toggled machine language programs into a computer bit-by-bit, or on even more primitive computers actually changed the wiring to represent the instructions of a program, in modern times even assembly language isn't used as much as it used to be, with programmers doing most of their work in higher-level languages, and even the compilers for those languages are often written in other high-level languages. (Somebody had to create machine-level code at some point to get all those higher-level things to work, though!) | Few programmers deal directly with machine language, either; while at one point in the old days "geeks" toggled machine language programs into a computer bit-by-bit, or on even more primitive computers actually changed the wiring to represent the instructions of a program, in modern times even assembly language isn't used as much as it used to be, with programmers doing most of their work in higher-level languages, and even the compilers for those languages are often written in other high-level languages. (Somebody had to create machine-level code at some point to get all those higher-level things to work, though!) | ||
Line 14: | Line 13: | ||
== Links == | == Links == | ||
* [[Wikipedia:Machine code|Wikipedia article]] | * [[Wikipedia:Machine code|Wikipedia article]] | ||
+ | * [http://cpudb.stanford.edu/ CPU database: list of processor chips] |
Latest revision as of 14:12, 14 August 2017
Machine language is the low-level language that is executed directly by a processor (CPU). It consists of a series of raw bytes that generally do not look meaningful as ASCII text, unlike the source code of most programming languages. A machine language program is stored directly as a binary executable file which can be run on the target machine. Assembly language is one step up from machine language, consisting of more human-readable code which assembles into machine language. Still-higher-level languages like C or BASIC are either compiled into machine language, compiled into intermediate code of some sort, or run by an interpreter, but eventually they become machine language instructions because that is all the processor understands directly.
Machine language is actually not the very lowest-level language; there are "microcode" instructions embedded within processor chips that actually carry out the instructions of machine language by breaking them up into even more primitive operations, but only chip designers need to worry about that level.
Few programmers deal directly with machine language, either; while at one point in the old days "geeks" toggled machine language programs into a computer bit-by-bit, or on even more primitive computers actually changed the wiring to represent the instructions of a program, in modern times even assembly language isn't used as much as it used to be, with programmers doing most of their work in higher-level languages, and even the compilers for those languages are often written in other high-level languages. (Somebody had to create machine-level code at some point to get all those higher-level things to work, though!)
Machine language is very specific to particular processor types, so any program in one processor's language (e.g., a Pentium chip) would not run directly in other processors (e.g., a 68000) unless that chip were specifically designed to be compatible.