ФЭА / АИТ / ВЫПОЛНЕНИЕ ПРОГРАММЫ
(автор - student, добавлено - 21-02-2013, 19:23)
ВЫПОЛНЕНИЕ ПРОГРАММЫ
Управление модулями реализуется в микропроцессорных системах (МПС) посредством ее шин. Процессор расшифровывает команду и задает на шинах такие последовательности потен¬циалов, которые заставляют управляемые им блоки выполнять требуемые дей¬ствия [1]. Для иллюстрации рассмотрим выполнение короткого фрагмента про-граммы передачи байта из одной ячейки памяти в другую. Пусть численное значение байта будет 10H, а его передача производится из ячейки 0100H в ячейку 0101H. Пусть также фрагмент программы размещается в памяти, на¬чиная с ячейки 2000H. Для выполнения фрагмента сначала нужно переслать байт в аккумулятор, а затем из аккумулятора в память. Так как обращение к памяти подразумевает косвенную адресацию, вначале требуется загрузка пары регистров Н адресом ячейки, к которой идет обращение. С учетом сказанного фрагмент программыв мнемокодах (на ассемблере МП) примет вид, показанный в левом столбце Мнемокод Ячейка Код LXН, 0100 2000 21 00 01 MOV А, М 2003 7Е INX Н 2004 23 MOV М, А 2005 77 Команда загрузки непосредственных данных в пару регистров LXIrpb3b2 имеет код 00ПР0001, где ПР –адрес пары регистров. Пара регистров Н имеет адрес ПР = 10. Подставив это значение в код команды, получаем код 21. В правом столбце записана команда в кодах. Она имеет вид: 21 00 01, т. к. после кода операции из памяти извлекаются сначала младший (00), а затем старший (01) байты. Команда трехбайтная и занимает 2000—2002 ячейки памяти. Однобайтная команда MOVА, М пересылки из памяти в аккумулятор является вариантом команды MOV г, М с кодом 01ППП110, где ППП — адрес аккумулятора. Подставив в этот код адрес регистра А = 111, получаем код команды 7Е. Команда INX Н прибавляет единицу к содержимому регистровой пары и является вариантом, код которого получается из кода 00ПР0011 при подста¬новке адреса пары регистров 10, что дает код 23. Последняя команда фрагмента программы (пересылка из аккумулятора в память) MOV М, А, имеющая код 77, передает в ячейку памяти, адрес кото¬рый находится в регистровой паре Н, содержимое аккумулятора. Эта коман¬да завершает выполнение фрагмента программы.Последовательность четырех рассмотренных команд сгенерирует временные диаграммы, посредством которых программа будет выполнена(рис. 4). Рис. 4.Диаграммы передачи байта из ячейки в ячейку |
|