2.2.1.  Форматы команд

Команды микропроцессоров могут иметь длину в одно, два или три машинных слова (рис. 2.7). Все слова таких команд должны следовать друг за другом и располагаться в соседних ячейках памяти. В микропро­цессоре Intel 8080 длину в одно слово памяти кроме простей­ших команд типа ОСТАНОВ, имеют команды перемещения данных из одного

Регистра в другой и преобразования данных (арифметические и логические).

Длину в два слова имеют команды двух типов:

· во-пер­вых, команды ввода-вывода, в которых второй байт указы­вает номер соответствующего порта;

· во-вторых, так назы­ваемые команды с непосредственной адресацией. Это название не вполне точное, так как обращения к памяти фактически не происходит, а второй байт сам непосред­ственно дает 8-разрядный операнд.

Из трех слов состоят команды загрузки и запоминания данных, а также условных и безусловных переходов; в этих случаях второе и третье слова команды образуют соответ­ствующий 16-разрядный адрес. Запись 16-разрядных слов производится таким образом, что в ячейке с меньшим адре­сом записывается младший байт, а в ячейке с большим ад­ресом – старший байт адреса операнда (см. рис. 2.7, в). Такой порядок записи 16-разрядных чисел в 8-разрядные ячейки памяти соблюдается всегда. На практике это приводит к тому, что в машинных кодах операндов нарушается при­вычный порядок записи чисел, при котором слева пишутся старшие разряды, а справа – младшие.

В мнемонических сокращениях команд сохраняется традиционный порядок записи, но при ассемблировании программы в зоне операндов на первое место должен быть поставлен младший байт адреса, а на второе ме­сто – старший байт.