Home>Article> What is machine language

What is machine language

WBOY
WBOY Original
2022-07-20 10:51:28 30790browse

Machine language is an instruction set system; machine language is a programming language or instruction code that the machine can directly recognize without translation. Each operation code has a corresponding circuit to complete it inside the computer, or Refers to a programming language or instruction code that can be directly understood and accepted by machines without translation. Machine language is a formal language used to define computer programs and is used to issue instructions to computers.

What is machine language

The operating environment of this tutorial: Windows 10 system, DELL G3 computer.

Machine language is a system of instruction sets

Machine language is a programming language or instruction code that the machine can directly recognize without translation. Each operation code has a corresponding code inside the computer. A circuit is used to complete it, or it refers to a programming language or instruction code that can be directly understood and accepted by the machine without translation. Machine language uses absolute addresses and absolute opcodes. Different computers have their own machine languages, that is, instruction systems. From a usage perspective, machine language is the lowest level language.

Brief introduction

Programming language is a formal language used to define computer programs and to issue instructions to the computer. There are many computer languages, and a large number of new programming languages are created every year. According to levels, programming languages can be divided into three categories: machine language, assembly language and high-level language. Machine language consists of a set of machine instructions that can be directly executed by the machine. Programs written in machine language have problems that are difficult to read and remember. Assembly language essentially operates directly on hardware. Due to the use of mnemonics, it is more convenient to write and read than machine language. In high-level languages, multiple assembler statements are merged into more concise programming statements, and at the same time, some tasks such as stack and register allocation management are automatically completed, making it more convenient for programmers to develop programs.

Machine language is a set of machine instructions represented by binary code that a computer can directly recognize and execute. It is the operating function given to the computer by the computer designer through the computer's hardware structure. Machine language has the characteristics of flexibility, direct execution and high speed. The machine languages of different types of computers are incompatible. A program compiled according to the machine instructions of one type of computer cannot be executed on another type of computer.

An instruction is a statement in machine language. It is a set of meaningful binary codes. The basic format of the instruction is such as the operation code field and the address code field. The operation code specifies the operation nature and function of the instruction. , the address code gives the operand or the address of the operand.

To write programs in machine language, programmers must first memorize all the instruction codes of the computer used and the meaning of the codes. When hand-programming, programmers have to handle the storage allocation and input and output of each instruction and data by themselves, and they also have to remember the state of the work unit used in each step of the programming process. This is a very tedious job. The time it takes to write a program is often dozens or hundreds of times longer than the actual running time. Moreover, the programs compiled are all instruction codes of 0s and 1s, which are not intuitive and prone to errors. Except for professionals from computer manufacturers, the vast majority of programmers no longer learn machine language.

Instruction format

Machine language instruction is a binary code consisting of two parts: operation code and operand. The opcode specifies the operation of the instruction. It is a keyword in the instruction and cannot be defaulted. The operand represents the operand of the instruction. The computer's instruction format has a great relationship with the machine's word length, memory capacity and instruction function. From the perspective of facilitating program design, increasing parallelism of basic operations, and improving instruction functionality, instructions should contain a variety of information. However, in some instructions, because part of the information may be useless, this will waste the storage space occupied by the instruction and increase the number of memory accesses, which may actually affect the speed. Therefore, how to design the instruction format reasonably and scientifically so that the instruction can not only give enough information, but also make its length match the word length of the machine as much as possible, so as to save storage space, shorten the value time, and improve the performance of the machine. This is an important issue in instruction format design.

Computers process various data by executing instructions. In order to indicate the source of data, the destination of operation results and the operations performed, an instruction must contain the following information:

(1) Operation code. It specifies the nature and function of the operation. A computer may have dozens to hundreds of instructions, each instruction has a corresponding operation code, and the computer completes different operations by recognizing the operation code.

(2) The address of the operand. The CPU can obtain the required operands through this address.

(3) Storage address of the operation result. The result of processing the operand is saved at this address for reuse.

(4) The address of the next instruction. When executing a program, most instructions are fetched from the main memory in order and executed. Only when a transfer instruction is encountered, the execution order of the program will change. In order to compress the length of the instruction, a program counter (ProgramCounter, PC) can be used to store the instruction address. Every time an instruction is executed, the instruction address of the PC is automatically set to 1 (assuming that the instruction only occupies one main memory unit), indicating the address of the next instruction to be executed. When a transfer instruction is encountered, the transfer address is used to modify the contents of the PC. Due to the use of PC, the address of the next instruction to be executed does not need to be explicitly given in the instruction.

For more related knowledge, please visit theFAQcolumn!

The above is the detailed content of What is machine language. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn