Алгоритмы. Алгоритмизация. Алгоритмические языки


Что такое язык ассемблера?



бет10/16
Дата15.02.2023
өлшемі171,59 Kb.
#68183
1   ...   6   7   8   9   10   11   12   13   ...   16

7.15. Что такое язык ассемблера?


Язык ассемблера — это машинно-зависимый язык низкого уровня, в котором короткие мнемонические имена соответствуют отдельным машинным командам. Используется для представления в удобочитаемой форме программ, записанных в машинном коде.

Язык ассемблера позволяет программисту пользоваться текстовыми мнемоническими (то есть легко запоминаемыми человеком) кодами, по своему усмотрению присваивать символические имена регистрам компьютера и памяти, а также задавать удобные для себя способы адресации. Кроме того, он позволяет использовать различные системы счисления (например, десятичную или шестнадцатеричную) для представления числовых констант, использовать в программе комментарии и др.
Программы, написанные на языке ассемблера, требуют значительно меньшего объема памяти и времени выполнения. Знание программистом языка ассемблера и машинного кода дает ему понимание архитектуры машины. Несмотря на то, что большинство специалистов в области программного обеспечения разрабатывают программы на языках высокого уровня, таких, как Object Pascal или C, наиболее мощное и эффективное программное обеспечение полностью или частично написано на языке ассемблера.
Языки высокого уровня были разработаны для того, чтобы освободить программиста от учета технических особенностей конкретных компьютеров, их архитектуры. В противоположность этому, язык ассемблера разработан с целью учесть конкретную специфику процессора. Сдедовательно, для того, чтобы написать программу на языке ассемблера для конкретного компьютера, важно знать его архитектуру [57].
В качестве примера приведем программу на языке ассемблера для IBM PC. Программа вычисляет значение a = b + c для целых a, b и c:

.MODEL SMALL


.DATA
b DW 5
c DW 3
a DW ?
.CODE
begin MOV AX,@DATA
MOV DS,AX
MOV AX,B
ADD AX,C
MOV A,AX
MOV AH,4CH
INT 21H
END begin

Директива .MODEL задает механизм распределения памяти под данные и команды.


Директива .DATA определяет начало участка программы с данными.
Директивы DW задают типы переменных и их значения.
Директива .CODE определяет начало участка программы с командами.
Команды MOV AX,@DATA и MOV DS,AX записывают адрес сегмента данных в регистр DS (Data Segment).
Для вычисления a используются команды MOV AX, B, ADD AX,C и MOV A,AX.
В директиве END задана метка первой выполняемой программы программы begin.






Перевод программы с языка ассемблера на машинный язык осуществляется специальной программой, которая называется ассемблером и является, по сути, простейшим транслятором.


Достарыңызбен бөлісу:
1   ...   6   7   8   9   10   11   12   13   ...   16




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет