Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Мнемоническое представление команд




Ассемблер

Язык машинных кодов понятен процессору, но неудобен для работы программисту поскольку команды трудно запоминаются и читаются. Гораздо удобнее символьное представление команд, когда символы команды напоминают о её действиях, а двухбайтные операнды и адреса в командах пишутся в нормальном виде (начиная слева, от старших байт). Такая форма представления команд используется в языке Ассемблер. Символы, представляющие команды, называются мнемокодами. Характерной особенностью языка Ассемблер, определяющей его принадлежность в языкам нижнего уровня, является то, что каждой команде Ассемблера соответствует одна и только одна машинная команда.

Пример 1.6

Адрес Число Мнемокод

0800 78 MOV A,B

MOV – сокращёние от MOVe (переместить). После пробела указываются операнды: сначала – операнд-приёмник (регистр A), а затем – операнд-источник (регистр B). Операнды разделяются друг от друга запятой.

Пример 1.7

Адрес Число Мнемокод

0801 06 4С MVI B,4C

MVI – сокращёние от MOVe Immediate (переместить непосредственно). После пробела указываются операнды: сначала – операнд-приёмник (регистр B), а затем – операнд-источник (число 4C).

Пример 1.8

Адрес Число Мнемокод

0803 D3 F0 OUT F0

OUT – сокращёние от OUTput (вывести). После пробела указывается операнд-приёмник через адрес порта вывода F0. Источник (выводимый байт) для команд вывода всегда находится в аккумуляторе, и поэтому сведений о нём в мнемокоде нет.

Пример 1.9

Адрес Число Мнемокод

0805 32 01 0B STA 0B01

STA – сокращёние от STore A direct (записать аккумулятор прямым методом адресации). После пробела указывается операнд-приёмник через определение его адреса в памяти (0B01). Источник в команде такого типа всегда находится в аккумуляторе, и поэтому сведений о нём в мнемокоде нет.

Программист пишет программу из процессорных команд сначала в удобной для него форме – на языке Ассемблера. При этом ему не обязательно сразу определять конкретные адреса памяти для размещения своей программы и её данных. Можно указать их в виде переменных с присвоением специальных имён.

Пример 1.10

Программа инвертирования чисел, в количестве Cnt_1, размещённых в последовательно расположенных ячейках памяти, начиная с адреса Adr_dat, может быть представлена на Ассемблере следующим образом

Метка Мнемокод Комментарий

Beg: LXI H,Adr_dat;записать в HL число Adr_dat

MVI B,Cnt_1;записать в B число Cnt_1

M00: MOV A,M; принять очередной байт из памяти в A

CMA; проинвертировать биты байта в A

MOV M,A; проинвертированный байт записать на место

INX H; инкрементировать указатель ячеек в HL

DCR B; декрементировать счётчик байтов в B

JNZ M00; проверить завершение счёта и перейти к M00

; когда счёт байтов не завершён

HLT; когда счёт байтов завершён – останов

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

Если выбраны Beg=0800, Adr_dat=0B00, Cnt_1=08, то оттранслированная программа будет иметь следующий вид

Адрес Число Метка Мнемокод Комментарий

0800 21 00 0B Beg: LXI H,0B00

0803 06 08 MVI B,08

0805 7E M00: MOV A,M

0806 2F CMA

0807 77 MOV M,A

0808 23 INX H

0809 05 DCR B

080A C2 05 08 JNZ M00

080D 76 HLT

Трансляция ассемблерной программы может быть выполнена программистом вручную при помощи справочных таблиц с мнемониками и кодами команд. Если в подготовке программ для процессора 8080, в качестве средства автоматизации программирования, применяется компьютер, то трансляция также может быть выполнена специальной компьютерной программой называемой транслятором Ассемблера или просто Ассемблером. Программист подготавливает исходный текст в таком виде, который требует транслятор. Программа Ассемблер предполагает определённый формат представления исходной программы, а также – наличие в исходном тексте программы дополнительных команд, управляющих процессом трансляции, но не транслируемых в выходной листинг (в отличие от мнемокодов). Они именуются директивами Ассемблера.





Поделиться с друзьями:


Дата добавления: 2015-10-27; Мы поможем в написании ваших работ!; просмотров: 1580 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Наглость – это ругаться с преподавателем по поводу четверки, хотя перед экзаменом уверен, что не знаешь даже на два. © Неизвестно
==> читать все изречения...

2613 - | 2186 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.01 с.