Assembly language

Слайд 2

Assembly language is a machine-oriented low-level programming language. Its commands directly

Assembly language is a machine-oriented low-level programming language. Its commands directly

correspond to individual machine commands or their sequences.
Слайд 3

The ability to make full use of all the features of

The ability to make full use of all the features of

the hardware platform allows, theoretically, to write the fastest and most compact code possible for this processor.

Advantage

Слайд 4

A skilled programmer, as a rule, is able to significantly optimize

A skilled programmer, as a rule, is able to significantly optimize

a program compared to a translator from a high-level language in one or several parameters and create a code close to Pareto optimal.
due to a more rational use of processor resources
due to manual optimization of calculations, the code size can be reduced and the program speed can be increased.
Слайд 5

The ability to directly access the hardware, and in particular the

The ability to directly access the hardware, and in particular the

input-output port, a specific memory addresses, CPU registers

512-byte assembly language game

Слайд 6

hardware drivers and the core of the operating system (at least

hardware drivers and the core of the operating system (at least

the machine-dependent subsystems of the core of the OS), when it is important to temporarily coordinate the operation of peripheral devices with the central processor;

Using assembler has virtually no alternative when creating:

Слайд 7

programs that must be stored in ROM of a limited volume

programs that must be stored in ROM of a limited volume

and / or run on devices with limited performance (“firmware” of computers and various electronic devices);
platform-specific components of compilers and interpreters of high-level languages, system libraries and code that implements platform compatibility.
Слайд 8

Due to the machine orientation (“low level”) of the assembly language,

Due to the machine orientation (“low level”) of the assembly language,

it is more difficult for a person to read and understand a program on it compared to high-level programming languages.
A program in assembly language consists of very "small" elements - machine instructions, respectively, the volume of the program in the commands is proportionally larger.
Programming and debugging are becoming more complicated, the complexity and probability of introducing errors are growing.

Limitations