Historical background of Assembly Language

Source: Internet
Author: User

1. Overview

An assembly language is a machine-oriented language designed for a specific computer or computer series. It consists of execution instructions and pseudoinstructions. An execution command is a symbol of a machine command. Its operation code is represented by a memory character. The address code is represented by a number, variable, and constant (??) . The execution commands are translated into machine commands by assembler programs. The execution commands correspond to the machine commands one by one. Pseudo commands are for assembler programs and are used to implement functions other than machine commands.

Although the programs written in assembly language are not as simple, intuitive, and user-friendly as those in advanced languages, the compiled target programs consume less memory and run more efficiently, you can also directly reference various computer hardware devices (I don't know if it's okay to manage the operating system now ?). In the early days of assembly language, many applications were written in assembly. However, with the advent and prevalence of advanced languages, the application scope of Assembly became narrower, it is mainly used to write the core part of the system, or it requires a lot of running time and high real-time requirements.

2. Development Process

The child model of assembler program is successfully developed on edsac, an automatic electronic Discrete Time Series Computer. This system features that commands in a user program are composed of a single letter script, a decimal address, and an ending letter. The first assembler is the symbolic optimization assembler (SOAP) system, which was developed for the ibm650 computer in the middle of 1950s. This type of computer uses a drum for memory. Each command specifies the position of the subsequent command in the drum. At the beginning, the motivation for developing the soap system was not to introduce the symbolic characteristics of the assembly language, but to solve the problem of rational distribution of commands in the drum, so as to improve the program running efficiency. Ibm704 computer symbolic assembler (SAP) is an important milestone in the development of assembler. Most later assembler programs use this system as the model, and its main features have not undergone any fundamental changes. With the rapid development and wide application of computer software, assembler has absorbed some advantages of systems such as macro programs and high-level language translation programs, and has successively developed macro programs and advanced assembler programs.

3. Classification

Assembler can be divided into simple assembler, module assembler, conditional assembler, Macro Assembler and advanced assembler.

A simple assembler is also known as a "load and execute" assembler. It is simple and widely used. This assembler is characterized by the fact that the compiled machine language program is directly stored in the memory for execution. The storage location occupied by the target program is fixed during assembly and cannot be changed in the future. Therefore, this method of work cannot combine multiple independent assembly subroutines into a complete program. you can only call subprograms in the library where the location does not conflict with the target program.

The Module assembly program is developed to adapt to the module program design method. In addition to overcoming the disadvantages of a simple assembler, it also provides the ability to design, code, and debug different program modules in parallel, and only needs to change the relevant modules when changing the program. Each assembled program module is called the target module. Multiple Target modules are connected to the assembly program to form a complete executable program.

Conditional assembler has the ability to select some program segments. It is applicable to the compilation of highly selective programs or packages, so that appropriate software can be tailored and compiled based on user needs and device configurations. This assembly language usually requires the introduction of assembly instructions such as "conditional transfer" and "transfer" to selectively compile certain program segments or control the processing path of the assembler based on the assembly conditions specified by the user.

Macro Assembler is mainly characterized by the addition of macro processing functions in the assembly program. It allows you to easily define and use macro commands. It is applicable to scenarios where multiple program paragraphs appear in a program, have a certain format, and can be adjusted and changed using a few parameters. This method not only reduces the length of the program, but also increases readability. When the format of the program section needs to be changed, you only need to change the definition, instead of modifying each use.

Advanced assembler is an assembly program that uses the control statement structure of the advanced programming language. It not only maintains strong expression ability and high program running efficiency in assembly language, but also fully absorbs the advantages of easy to read and write in advanced languages. This is because advanced assembler allows users to use control statements in advanced programming languages (such as conditional statements, loop statements, functions, and procedures) write the control part of the program, and allow users to directly control the storage allocation and access register hardware using the assembly language, describe the algorithms that are difficult to express in advanced languages. The first advanced assembler is N. the PL/360 language assembly program developed by worth for the ibm360 system features that the control part of the program is written using control statements in advanced languages, and the data processing part is written using ibm360 Assembly commands. Since then, there have been compilation programs similar to Algol
FORTRAN assembler fat.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.