Home Common Problem What can assembly language do?

What can assembly language do?

Jul 17, 2020 am 11:44 AM
Assembly language

Assembly language is a powerful programming language. It is also a language that utilizes all the hardware features of the computer and can directly control the hardware. After you learn it well, you can make microcontrollers, operating systems, and compilers. Bottom-level development is definitely needed anyway.

What can assembly language do?

Assembly language is a low-level language used for electronic computers, microprocessors, microcontrollers or other programmable devices, also known as for symbolic language. In assembly language, mnemonics are used to replace the opcodes of machine instructions, and address symbols or labels are used to replace the addresses of instructions or operands.

In different devices, assembly language corresponds to different machine language instruction sets, which are converted into machine instructions through the assembly process. There is a one-to-one correspondence between a specific assembly language and a specific machine language instruction set, and they are not directly portable between different platforms.

Assembly language is a powerful programming language. It is also a language that utilizes all the hardware features of the computer and can directly control the hardware.

What can assembly language do?

Computer work is driven by a series of machine instructions. These instructions are a series of binary numbers 0101000110, corresponding to the high and low levels of the computer. The collection of these machine instructions is machine language. This It is already at the lowest level, one-to-one with the hardware.

Obviously, such machine language is anti-human. Only geniuses and madmen have the ability to control him.

So assembly language was born. Assembly language is to convert some difficult-to-remember 0100100 into a format that is easy to remember, so that people can understand it a little bit. For example, if the contents of register bx are sent to ax, the corresponding machine instruction is: 100001001110110000 (I have no idea what it is. If you really want to study it carefully, then you have to check its circuit connection), and after it becomes an assembly instruction: mov ax, bx . Haha, isn’t it much easier to understand? Therefore, I also concluded a truth. In fact, the so-called difficulty and simplicity are really only relative. Without comparison, there will be no harm!

Back to the previous question, what can assembly language do? This question is a bit low-key. What can be done with machine language can also be done with assembly? But, is machine language so awesome? Is it possible that so many high-tech things nowadays can be done with machine language? This is nonsense. At the end of the day, all languages ​​are machine languages. There is nothing that machine language can’t do. It can also be said that there is nothing that assembly can’t do. It’s just that we don’t have enough skills, haha!

After learning assembly language well, you can make microcontrollers, operating systems, and compilers. Bottom-level development is definitely needed anyway.

There are three main types of instructions in assembly: 1) Assembly instructions (machine code mnemonics, corresponding to machine instructions one-to-one. If possible, you can actually operate all the computer hardware with just this thing); 2) Pseudo Instructions (which have no corresponding machine code and are executed by the compiler but not by the computer, that is to say, they are converted into a set or more machine codes by the compiler. This is what modern high-level language compilers do); 3) Other symbols (such as -*/, same as the second one, recognized and converted by the compiler)

For more related knowledge, please visit: PHP Chinese website!

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

Statement of this Website
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

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

What are the characteristics of machine language, assembly language, and high-level language? What are the characteristics of machine language, assembly language, and high-level language? Apr 22, 2021 pm 04:00 PM

Characteristics of machine language: difficult to learn, understand, and understand; not universal; requires manual allocation of memory; and runs fastest. The characteristics of assembly language: the execution efficiency of the program is very high, it takes up little storage space, and it runs fast; it lacks versatility and the program is not easy to transplant. Characteristics of high-level languages: easy, certain versatility, and cannot be directly recognized and executed by computers.

What are the components of assembly language? What are the components of assembly language? Aug 15, 2022 pm 03:44 PM

The components of assembly language: 1. Transfer instructions, including general data transfer instructions, conditional transfer instructions, etc.; 2. Logical operations, which are used to perform arithmetic and logical operations; 3. Shift instructions, used to operate registers or memory The number is moved a specified number of times; 4. Bit operations, including test instructions BT, bit test and set instructions BTS, etc.; 5. Control transfer, including unconditional transfer instructions JMP, conditional transfer instructions "JCC/JCXZ", etc.; 6. String Operation, used to operate on data strings; 7. Input and output, used to exchange data with peripheral devices.

Is assembly language a high-level language? Is assembly language a high-level language? Jan 30, 2023 pm 03:14 PM

Assembly language is not a high-level language; it is a low-level language like machine language. The difference between assembly language and high-level language: 1. The programming efficiency of assembly language is not high, while the programming efficiency of high-level language is higher than that of assembly language; 2. The readability of high-level language is higher than that of assembly language; 3. Assembly language is a Machine language, while high-level language is simplified and close to human natural language.

What is the difference between assembly language and c language? What is the difference between assembly language and c language? Jan 06, 2023 pm 01:48 PM

Differences: 1. Because assembly language is essentially a mnemonic for machine language and is a language that directly faces the CPU, assembly language operates more efficiently than C language; 2. Assembly language has strong controllability of hardware, and C language Hardware controllability is relatively poor; 3. The object code of assembly language is small, and the object code of C language is large; 4. Assembly language is difficult to maintain, but C language is easy to maintain; 5. The portability of assembly language is very poor, and C language is portable. The performance is very good; 6. Assembly language is easier to learn than C language, because assembly language requires a lot of programming knowledge and is very complicated.

Analyzing ROP attacks Analyzing ROP attacks Feb 18, 2024 pm 12:46 PM

ROP attack explanation With the continuous development of information technology, network security issues have gradually attracted people's attention. Various new network attack methods emerge in endlessly, and one of the most widely used attack methods is the ROP (Return Oriented Programming) attack. This article will explain in detail the ROP attack. ROP attack (ReturnOrientedProgrammingAttack) is a method that uses the instruction sequence that already exists in the program to construct a new

What are the differences between assembly language and c language? What are the differences between assembly language and c language? Sep 23, 2021 pm 04:09 PM

Differences: 1. Assembly language has high efficiency, while C language has relatively low efficiency; 2. Assembly language has strong controllability of hardware, while C language has poor controllability of hardware; 3. Assembly language target code has a small size, while C language target code has a small size. Large; 4. Assembly language is not easy to maintain, but C language is easy to maintain; 5. Assembly language has poor portability, but C language has good portability, etc.

What language uses mnemonics instead of opcodes? What language uses mnemonics instead of opcodes? Jul 25, 2022 pm 02:40 PM

A language that uses mnemonics instead of opcodes is "assembly language". Assembly language is any low-level language used in electronic computers, microprocessors, microcontrollers, or other programmable devices. In assembly language, mnemonics are used to replace the opcodes of machine instructions, and address symbols or labels are used to replace the addresses of instructions or operands.

How does the collaboration of C++ and assembly language improve performance in embedded applications? How does the collaboration of C++ and assembly language improve performance in embedded applications? May 31, 2024 pm 10:44 PM

To optimize the performance of embedded systems, C++ and assembly language can be used collaboratively. Specific strategies include: function-specific assembly language optimization, inline assembly, and compiler inlining. For example, rewriting the assembly language version of the sorting algorithm can take advantage of the underlying hardware instructions and fine-tune it, resulting in significant performance improvements.