• Skip to main content
  • Skip to primary sidebar
  • Skip to secondary sidebar
  • Skip to footer

Computer Notes

Library
    • Computer Fundamental
    • Computer Memory
    • DBMS Tutorial
    • Operating System
    • Computer Networking
    • C Programming
    • C++ Programming
    • Java Programming
    • C# Programming
    • SQL Tutorial
    • Management Tutorial
    • Computer Graphics
    • Compiler Design
    • Style Sheet
    • JavaScript Tutorial
    • Html Tutorial
    • Wordpress Tutorial
    • Python Tutorial
    • PHP Tutorial
    • JSP Tutorial
    • AngularJS Tutorial
    • Data Structures
    • E Commerce Tutorial
    • Visual Basic
    • Structs2 Tutorial
    • Digital Electronics
    • Internet Terms
    • Servlet Tutorial
    • Software Engineering
    • Interviews Questions
    • Basic Terms
    • Troubleshooting
Menu

Header Right

Home » Fundamental » Binary » What is Machine Code or Machine Language?
Next →
← Prev

What is Machine Code or Machine Language?

By Dinesh Thakur

Computer is a collection of digital electronic circuits in which the memory circuits play a major role. The input to as well as outputs from the microprocessor are all expressed in terms of voltages applied on the specified set of terminals meant for input and outputs, respectively. We may code the high value of voltage (typical value 5 V) as 1 and low value of voltage (typical value 0) as 0. Thus, an instruction to the microprocessor of the computer may be represented as a sequence of 0s and 1s (ones and zeros), such as 11001001. These ones and zeros are electronic signals that tell the computer what to do. In fact, microprocessors are designed to carry out a large number of instructions. The manufacturers supply the set of instructions and their respective codes.

Also, the numbers that we use in our daily life, i.e., decimal numbers, can also be represented in terms of binary numbers. For instance, 1 is represented as 1, 2 are represented as 10, 3 is represented as 11, 4 is represented as 100, and so on. A typical program comprises of instructions and data which may be represented as sequences of 0s and 1s. Thus, a complete program becomes a long list of sequences of 0s and 1s. You may now raise the query “How does a computer know which number is instruction and which number is simple data?” There are different instruction formats which are combinations of opcodes (operation code), other codes, and data. The first number in an instruction is opcode which is linked to the instruction for the microprocessor. An instruction may or may not be followed by data because some instructions do not require data. Thus, the processor can make out which sequence of 0s and 1s is instruction and which is data. The complete set of these instructions for a CPU is called machine language code or simply machine language. Although we make the program as sequences of 0s and 1s, these are interpreted as 5V and 0V respectively (some systems work on 3V and 0V). This is the language which the machine or the microprocessor understands. Machine code is the only language a computer understands. The format of typical instruction requiring two data items is illustrated in Fig.         A typical instruction format

A program written in machine language will consist of a large number of sequences of 0s and 1s. Because of this reason, it is very difficult to write programs using machine language. It is even more difficult to locate errors and debug the program.

The instruction codes for processors made by different manufacturers are different for the same process such as storage or for manipulations such as addition, subtraction etc. Therefore, the program written in one machine language for one type of CPU will work only on computers having same type of CPU and it will not work on computers based on other types of CPUs. That is, besides being cumbersome to write and debug there is no portability of these programs from one type of computer to another type of computer. Moreover, it is very difficult to convert a program made for one type of CPU to suit another type of CPU. For these two reasons, high-level languages (HLL) have been developed. With high-level computer languages it is easy to develop a program, easy to maintain the program, and most importantly the programs are portable from one computing platform to another.

You’ll also like:

  1. What is Basic Language (beginner’s all-purpose symbolic instruction code,)?
  2. What is Automated Teller Machine (ATM)?
  3. Java Virtual Machine (JVM) & its Architecture
  4. Difference Between Procedure Oriented Language and Object Oriented Language
  5. What is ASCII Code?
Next →
← Prev
Like/Subscribe us for latest updates     

About Dinesh Thakur
Dinesh ThakurDinesh Thakur holds an B.C.A, MCDBA, MCSD certifications. Dinesh authors the hugely popular Computer Notes blog. Where he writes how-to guides around Computer fundamental , computer software, Computer programming, and web apps.

Dinesh Thakur is a Freelance Writer who helps different clients from all over the globe. Dinesh has written over 500+ blogs, 30+ eBooks, and 10000+ Posts for all types of clients.


For any type of query or something that you think is missing, please feel free to Contact us.


Primary Sidebar

Computer Memory

Computer Memory

    • Computer - Memory
    • Computer - Types of Memory
    • Computer - RAM
    • Computer - Types of RAM
    • Computer - ROM
    • Computer - RAM Vs ROM
    • Computer - Associative Memory
    • Computer - SemiConductor Memory
    • Computer - Primary Memory
    • Computer - Auxiliary Memory
    • Computer - Flash Memory
    • Computer - EPROM
    • Computer - Secondary Memory
    • Computer - Sequential Access Memory
    • Computer - EEPROM
    • Computer - Bubble Memory
    • Computer - DDRAM Vs FPMDRAM
    • Computer - SDRAM
    • Computer - DRAM
    • Computer - VRAM
    • Computer - ECC Memory
    • Computer - PC RAM
    • Computer - NVRAM
    • Computer - Register

Computer Devices

    • Computer - Input/Output Devices
    • Computer - Printer
    • Computer - Laser Printer
    • Computer - Hard Drive
    • Computer - Dot-Matrix Printer
    • Computer - Impact and Non-Impact
    • Computer - Storage Devices
    • Computer - Primary Storage
    • Computer - Types of Storage
    • Computer - Line Printer

Other Terms

    • Computer - Interrupt
    • Computer - Classify Storage Devices
    • Computer - CISC and RISC
    • Computer - Access Method
    • Computer - Memory Mapping
    • Computer - OMR
    • Computer - Access Time
    • Computer - Types of integrity
    • Computer - Buffer
    • Computer - Associative Cache
    • Computer - RAM Parity
    • Computer - Disk Cache
    • Computer - Disk Controller
    • Computer - Cycle Time
    • Computer - IDE
    • Computer - RAM Disk
    • Computer - Cartridge Hard Disk
    • Computer - DPI
    • Computer - Fatal Error
    • Computer - Install HDD/SSD
    • Computer - Input Technologies
    • Computer - OCR

Binary Number

  • CO - EBCDIC
  • CO - ASCII Code
  • CO - Bit
  • CO - ASCII
  • CO - BCD Numbers
  • CO - Binary Numbers
  • CO - Byte
  • CO - Bits and Bytes
  • CO - Machine Code

Other Links

  • Computer Memory - PDF Version

Footer

Basic Course

  • Computer Fundamental
  • Computer Networking
  • Operating System
  • Database System
  • Computer Graphics
  • Management System
  • Software Engineering
  • Digital Electronics
  • Electronic Commerce
  • Compiler Design
  • Troubleshooting

Programming

  • Java Programming
  • Structured Query (SQL)
  • C Programming
  • C++ Programming
  • Visual Basic
  • Data Structures
  • Struts 2
  • Java Servlet
  • C# Programming
  • Basic Terms
  • Interviews

World Wide Web

  • Internet
  • Java Script
  • HTML Language
  • Cascading Style Sheet
  • Java Server Pages
  • Wordpress
  • PHP
  • Python Tutorial
  • AngularJS
  • Troubleshooting

 About Us |  Contact Us |  FAQ

Dinesh Thakur is a Technology Columinist and founder of Computer Notes.

Copyright © 2023. All Rights Reserved.