Разделы:


Best links:

Программирование на языке ассемблера

Язык ассемблера изоморфен машинному языку, т. е. каждому оператору языка ассемблера соответствует, как правило, одна команда процессора. Это позволяет воспользоваться всеми возможностями системы команд ЦП и АП. Практика показала, что язык ассемблера является основным языком программирования контроллеров. Для систем, построенных на основе центрального процессора ЦП и АП, используется язык ассемблера АSМ-86. Программирование ПВВ Intel 8089 осуществляется на языке ассемблера АSМ-89. Рассмотрим основные особенности этих языков.

Программа на языке ассемблера составляется в виде последовательности операторов. Имеется два типа операторов: мнемокоды команд и директивы. Основное отличие директив и мнемокодов команд состоит в том, что в процессе ассемблирования директивы предоставляют программе-ассемблеру вспомогательную информацию, которая используется в процессе ассемблирования и служит для описания типов данных, резервирования памяти, определения сегментов, организаций процедур и т. п.

Рассмотрим пример простой программы, блок-схема которой приведена на рис. 6.1. Эта программа суммирует числа, поступающие из порта ввода-вывода port1, в ячейке sum до тех пор, пока накопленное значение sum<100, после чего выводит накопленное значение в port1. Ниже представлен полный текст программы на языке ASM-86 (нумерация строк введена исключительно для дальнейшего пояснения программы):

1 data             SEGMENT                   ; начало сегмента данных

2 sum              DB    ?                          ; резервирование байта

3 data             ENDS                           ; конец сегмента данных

4 code             SEGMENT                   ; начало программного сегмента

5                      ASSUME   cs: code,      ; code – имя программного сегмента

предыдущая темаследующая