Definition

machine code (machine language)

Part of the Computing fundamentals glossary:

Machine code, also known as machine language, is the elemental language of computers, comprising a long sequence of binary digital zeros and ones (bits). 

Ultimately, the output of any programming language analysis and processing emerges in the form of machine code. After you write a program, your source language statements are compiled or (in the case of assembler language) put together into machine code that is stored as an executable file until someone tells the computer's OS (operating system) to run it. In personal computer OSs, these files typically have the suffix ".exe."

Each processor has its own specific machine language, and it  reads and handles a certain number of bits at a time. Because it is designed to know how many bits (and which bits) tell it what operation to do, the processor can look at the correct sequence of bits and perform the next operation. Then it reads the next instruction, and so on. Each machine-code instruction causes the CPU (central processing unit) to perform a simple operation such as an arithmetic calculation or storing data in RAM (random access memory). Execution of machine code can be controlled by firmware or else carried out by means of the CPU's internal wiring.

In analyzing problems or debugging programs, a tool called a dump is commonly used. A dump is a printout that shows the program in its machine code form. However, because it would be difficult and inefficient to render the program entirely as zeros and ones, each four bits are represented by a single hexadecimal numeral. Dumps also contain other information about the computer's operation, such as the address of the instruction that was being executed at the time the dump was initiated.

Human programmers rarely, if ever, write or read in machine code because it is essentially impossible to translate it from or into thoughts that the human mind can understand. Humans write in so-called high-level languages that are far more comprehensible than machine code, and that require far fewer characters to represent the task at hand.

Machine languages are sometimes referred to as 1st generation programming languages.

This was last updated in September 2005
Contributor(s): Stan Gibilisco, Marianne Doig
Posted by: Margaret Rouse

Related Terms

Definitions

  • Easter Egg

    - An Easter Egg is an unexpected surprise -- an undocumented procedure or unauthorized feature that's playful in nature or gives credit to the software developer or chip designer. (WhatIs.com)

  • term boosting

    - Term boosting is the ability to assign higher importance to specific words in a search engine query. In Google, for example, advanced search options allow you to identify words that must be found i... (WhatIs.com)

  • greedy algorithm

    - A greedy algorithm is a mathematical process that looks for simple, easy-to-implement solutions to complex, multi-step problems by deciding which next step will provide the most obvious benefit. (WhatIs.com)

Glossaries

  • Computing fundamentals

    - Terms related to computer fundamentals, including computer hardware definitions and words and phrases about software, operating systems, peripherals and troubleshooting.

  • Internet applications

    - This WhatIs.com glossary contains terms related to Internet applications, including definitions about Software as a Service (SaaS) delivery models and words and phrases about web sites, e-commerce ...

Ask a Question. Find an Answer.Powered by ITKnowledgeExchange.com

Ask An IT Question

Get answers from your peers on your most technical challenges

Ask Question

Tech TalkComment

Share
Comments

    Results

    Contribute to the conversation

    All fields are required. Comments will appear at the bottom of the article.