Материал: МИУС

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Команда MVI M data. Конкретно MVI M 0ЕН. Записать в ячейку памяти, адрес которой хранится в паре (H,L), число 0ЕН. Команда занимает в памяти два байта. Начальный адрес команды 0700Н. Машинный код – 36Н. Адрес ячейки М – 0950Н.

начало

Передача адреса 0700 из РС на ША

Признак «Чт» MEM R на ШУ

Прием в RI кода операции 36Н

Дешифрация кода операции

РС: = РС +1

Передача адреса 0701Н на ША

Признак «Чт» MEM R на ШУ

Передача 0ЕН на внешнюю ШД

Передача адреса из (H,L) на ША

Признак «Зп» MEM W на ШУ

Запись числа 0ЕН в ячейку М

РС: = РС +1

начало

конец

А

А

Трехбайтные команды.

Команда LXI rp data. Конкретно LXI D 0900H. Занести в регистровую пару DE адрес 0900Н. Команда занимает в памяти три байта. Начальный адрес команды 0800Н. Машинный код – 11Н.

А

начало

Передача адреса 0800Н из РС на ША

Признак «Чт» MEM R на ШУ

Прием в RI кода операции 11Н

Дешифрация кода операции

РС: = РС +1

Признак «Чт» MEM R на ШУ

РС: + РС =1

Признак «Чт» mem r на шу

Передача ст. байта адреса в R W

Передача адреса 0802н из рс на ша

Передача мл. байта адреса в R Z

Передача адреса 0801Н из РС на ША

(D,E): = (W,Z)

А

РС: = РС + 1

конец

К

начало

Признак «Чт» MEM R на ШУ

Признак «Чт» MEM R на ШУ

Прием в RI кода операции 3А Н

Дешифрация кода операции

РС: = РС + 1

Передача адреса 0900Н из РС на ША

Передача ст. байта адреса в RG W

РС: = РС + 1

Признак «Чт» MEM R на ШУ

Передача адреса 0901Н из РС на ША

Передача мл.байта адреса в RG Z

(RGA) := (W,Z)

Передача адреса из RGA на ША

Передача адреса 0902Н из РС на ША

Признак «Зп» mem w на шу

((0750Н)) := (А)

РС: = РС + 1

конец

А

А

А

оманда LDA addr. Конкретно LDA 0750Н. Переслать содержимое аккумулятора в ячейку с адресом 0750Н. Команда занимает в памяти три байта. Начальный адрес команды 0900Н. Машинный код – 3АН.

2.8. Команды передачи управления

Команда безусловного перехода JMP addr. Обеспечивает переход по адресу, указанному во 2-м и 3-м байтах.

Jump addr

Команда условного перехода. J cond addr. Обеспечивает переход по адресу, указанному во 2-м и 3- байтах при выполнении условия cond. При невыполнении условия выполняется следующая по порядку команда.

Jсond addr

если условие cond не выполняется

addr, если условие cond выполняется

Команда вызова подпрограммы Call addr.

Подпрограмма – часть программы, которая может повторяться многократно с разными исходными данными. При выполнении этой команды адрес возврата в основную программу заносится в стек. В конце подпрограммы ставится команда RET. Команда безадресная. Адрес возврата хранится в стеке. Команда возвращает в основную программу на команду, непосредственно следующую за командой CALL.

Сall addr addr

начальный адрес подпрограммы

RET команда возврата в

основную программу

2.9. Типы программ

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

Линейные программы содержат только операторные блоки.

начало

начало

конец

Разветвляющиеся программы предполагают проверку некоего условия, после чего программа может выполняться по разным веткам.

начало

?

да нет

конец

Циклические программы содержат части, которые могут повторяться многократно при различных начальных условиях. Такие повторяющиеся части называются телом цикла.

начало

?

нет

да

конец

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

  1. на любом свободном регистре общего назначения.

  2. в отдельной ячейке памяти, если имеется свободная регистровая пара для ее адресации.

    1. Принципы организации системы прерываний

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

Моменты возникновения событий, требующих прерывания программ, заранее неизвестны, случайны и не могут быть учтены при программировании.

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

Основные функции системы прерываний:

1) запоминание состояния прерванной программы (т.е. формирование слова состояния процессора);

2) переход к программе, обрабатывающей прерывание;

3) восстановление состояния прерванной программы и возврат к ней.

Каждое событие, требующее прерывания, называется запросом прерывания.

Все прерывания делятся на классы:

  1. прерывания от схем контроля (прерывания по сбою)

  2. программные прерывания (по ошибкам программ)

  3. прерывания от внешних источников

  4. прерывания от устройств ввода-вывода.

Каждый запрос прерывания имеет свой код. Код запроса прерывания в каждом отдельном случае запоминается в ОЗУ. Код запроса необходимо хранить, т.к.:

1) одновременно могут выдать запросы несколько источников, а к обслуживанию принимается только один;

2) во время выполнения прерывающей программы могут поступить запросы от других источников.

При наличии нескольких источников запросов прерываний устанавливается дисциплина обслуживания запросов. В МП-системах запросы прерывания обслуживаются на основе приоритетов (т.е. по старшинству).

Характеристики системы прерываний

1.Общее число запросов прерывания (число входов в систему прерывания).

2. время реакции – время между появлением запроса прерывания и началом выполнения прерывающей программы.

Упрощенная временная диаграмма процесса прерывания:

П рерываемая

программа

з апрос

прерывания

п рерывающая

программа

tзапр tpsw tc tв tp

tp – время реакции

Источник: https://studfile.net/preview/16673630/