Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МПСУ.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
11.26 Mб
Скачать

1.5.5. Команды перехода

Обычно команды выполняются в том порядке, как они расположены в памяти, но иногда этот порядок необходимо изменить. Для этого используется команда безусловного перехода или команда перехода, выполняемая при некотором условии.

Jmp ADR - команда безусловного перехода, заключающаяся в записи в программный счетчик (PC) содержимого 2-го и 3-го байтов команды, которые и образуют адрес перехода.

Команды условного перехода - j® ADR. Вместо знака ® в команде указываются символы, соответствующие необходимому условию (табл. 5.3).

Таблица 5.3

®

Условие

Признак

nz

Не нуль

Z = 0

z

Нуль

Z = 1

nc

Нет переноса

CY = 0

c

Перенос

CY = 1

po

Нечетность

P = 0

pe

Четность

P = 1

P

Плюс

S = 0

m

Минус

S = 1

В качестве условия перехода рассматривается состояние одного из битов регистра признаков F, в котором записывается признак результата последней выполненной операции. Пример выполнения команды условного перехода представлен на рис. 5.1.

Действие команды: если условие выполняется, в программный счетчик

3«-» /Л VJ VJ

-й и 2-й байты команды, иначе выполняется команда, располагаемая в памяти следом за командой условного перехода.

1.5.6. Команды вызова подпрограмм и возврата из них

Call ADR - происходит обращение к подпрограмме по адресу, заданному содержимым второго и третьего байтов команды. При этом текущий адрес (содержимое PC) сохраняется в стек для возврата из подпрограммы. Например, call 8400h (PC ^ 8400h, SP ^ 7203h)

Ret - происходит возврат из подпрограммы, адрес возврата находится в стеке (старший байт PC ^ M(SP+1), младший байт PC ^ M(SP), SP ^ SP+2). Фрагмент программы с командами call и ret представлен на рис. 5.2.

1.5.7. Команды сдвига

Действие команд заключается в перемещении каждого бита регистра аккумулятора вправо или влево. В табл. 5.4 представлены мнемокод команд сдвига и операции, выполняемые командами.

1.5.8. Команды ввода/вывода

Команды ввода/вывода предназначены для обмена данными с внешними устройствами.

Out ADR - запись в порт (Port (ADR) ^ A). In ADR - чтение из порта (A ^ Port (ADR)).

Команды занимают два байта, работают только с регистром аккумулятором.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]