Команды микропроцессоров могут иметь длину в одно, два или три машинных слова (рис. 2.7). Все слова таких команд должны следовать друг за другом и располагаться в соседних ячейках памяти. В микропроцессоре Intel 8080 длину в одно слово памяти кроме простейших команд типа ОСТАНОВ, имеют команды перемещения данных из одного
Регистра в другой и преобразования данных (арифметические и логические).
Длину в два слова имеют команды двух типов:
· во-первых, команды ввода-вывода, в которых второй байт указывает номер соответствующего порта;
· во-вторых, так называемые команды с непосредственной адресацией. Это название не вполне точное, так как обращения к памяти фактически не происходит, а второй байт сам непосредственно дает 8-разрядный операнд.
Из трех слов состоят команды загрузки и запоминания данных, а также условных и безусловных переходов; в этих случаях второе и третье слова команды образуют соответствующий 16-разрядный адрес. Запись 16-разрядных слов производится таким образом, что в ячейке с меньшим адресом записывается младший байт, а в ячейке с большим адресом – старший байт адреса операнда (см. рис. 2.7, в). Такой порядок записи 16-разрядных чисел в 8-разрядные ячейки памяти соблюдается всегда. На практике это приводит к тому, что в машинных кодах операндов нарушается привычный порядок записи чисел, при котором слева пишутся старшие разряды, а справа – младшие.
В мнемонических сокращениях команд сохраняется традиционный порядок записи, но при ассемблировании программы в зоне операндов на первое место должен быть поставлен младший байт адреса, а на второе место – старший байт.