Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Требования к полям записи команд на ассемблере

Типы ассемблера

Ассемблер в системе команд 8-разрядного МП

 

Ассемблер – машинно-ориентированный язык программирования, относящийся к среднему уровню.

Уровни языков программирования:

1 уровень – программирование в машинных кодах

2 уровень – мнемоника в системе команд для конкретного МП (ориентировано на устройство). Позволяет осуществить быстродействующие и компактные программы.

3 уровень – удобство написания. Размещение на любой машине. Проигрывается в быстродействии и размере занимаемой памяти.

Исходный модуль   Ассемблер   Объектный модуль
   

Ассемблер является транслятором. Необходимо для него задать начальный адрес.

 

1. Резидентный – команда транслятора записывает в память отлаживаемой машине. Недостаток – необходимо знать точно устройство.

2. Кросс – ассемблер – программа отлаживается на другой инструментальной машине. Инструментальная машина, как правило, более мощная. Отладка происходит на конкретной машине. Недостаток – необходимо знать оба устройства: отлаживаемую и инструментальную машину.

3. Макроассемблер – ассемблер, работающий с макроопределениями (это набор программ вычисления Sin и Cos)

4. Метаассемблер – многоассемблерный язык программирования.

 

По виду функционирования ассемблер бывает:

1. Онопроходные – процесс ассемблирования идет в 1 этап. Программы занимают мало места, но не работают для программ, в которых участвуют ссылки вперед – переход к метке, которую еще не определил транслятор.

2. Многопроходные – сначала составляется таблица переходов (меток), а затем идет трансляция.

 

Любая программа выполняется в следующем формате:

Адрес Код команды метка Символическое кодирование Комментарий
Мнемо-ника операнды
Адрес ячейки коман-ды в 16-ном коде Команды в порядке байтов команды (по мере воз-растания) в 16-ной системе Признак метки: возможна символьная и цифровая.Количест-во символов опреде-ляется свойством транслятора. Начина-ется с символа. Не должна совпадать с мнемоникой, не долж-на повторяться. Раз-мер определяется транслятором Берется из систе-мы кома-нд. Поле мнемоники и опе-рандов должны отде-ляться пробе-лом. Источник и приемник отделяются за-пятой. Справа от запятой – источник, слева - приемник. могут входить име-на регистров, парных регистров, дан-ные, адреса в любой системе счис-ления: B, Q, D, H. Если не поставле-но никакой буквы – транслятор при-нимает число в десятичной системе. Могут быть занесены арифмети-ческие, логические выражения, символы из ASCII, текущее значение РС. Заканчивается точкой с запятой. Пояс-нение на любом языке

Пример: Инициализация ППА, зажигания светодиода, подключенного к порту В.

Адрес управляющего слова режима работы: 87h.

Признак задания режима работы D7=1.

Порт В должен быть настроен на режим 0 (D2=0), на вывод (D1=0).

Остальные разряды в данном случае безразличны.

Адрес порта В, к одному из разрядов которого присоединен светодиод, – 85h.

 

Адрес Машинный код Метка Мнемокод Комментарий
  3E 80   MVI A, 80h ; формат УСРР занесем в А
  D3 87   OUT 87h ; и выведем из А в регистр УСРР
  3E FF   MVI A, FF ; «1» на все разряды А
  D3 85   OUT 85h ; и выведем это в ПВ, диод зажжется
      HLT ; останов программы

 

Пример – задача – перемещение массива информации из одной части памяти в другую. Запись в ПЗУ. В ОЗУ – загрузочная команда.

25 элементов массива. 2510 = 1916

- старый массив; - новый массив

1400 – начальный адрес ячейки памяти, с которой начинается программа.

BC – задание адресов начального массива; DE – конечного массива.

L – счетчик регистров.

Адрес Код команды Метка Символическое кодирование Комментарий
Мнемоника Операнды
  01 00 08 BEGIN LXI B, 0800H; Загрузка начального адреса старого массива в парный регистр ВС (по имени старшего регистра пары)
  11 00 09   LXI D, 0900H; Загрузка начального адреса нового массива в RP DE
  2E19   MVI L, 25; Организация счетчика массива
  0A CYCLE LDAX B; Загрузка аккумулятора элементом старого массива данных через парный регистр ВС
      STAX D; Выгрузка значения аккумулятора в область нового массива по адресу, хранящемуся в DE
140A     INX B; Увеличение на 1 RP BC
140B     INX D; Увеличение на 1 RP DE
140C 2D   DCR L; Уменьшение на 1 счетчика
140D C2 08 14   JNZ CYCLE; Передача управления «если не 0»
      HLT    

<== предыдущая лекция | следующая лекция ==>
Система команд | Системный контроллер ВК 28, ВК 38
Поделиться с друзьями:


Дата добавления: 2014-01-11; Просмотров: 367; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.013 сек.