Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
R_BIN_N_2.doc
Скачиваний:
1
Добавлен:
20.11.2019
Размер:
323.58 Кб
Скачать

Анализ по машинным циклам и тактам выполнения двух (однобайтной и трёхбайтной) произвольно выбранных команд из программы 2.3.

Команда LDA 0В00 - загружает число из памяти с адресом 0B00 в аккумулятор процессора (A)

Формат команды -3 байта, число тактов в команде – 13, количество машинных циклов – 4.

Во время выполнения команда LDA 0В00 в первом цикле (адрес 0800)извлекает первый байт команды(3А), во втором(0801) – извлекает второй байт(00), в третьем(0802) – третий байт(0В), а в четвёртом – выполняет саму команду.

Команда LDA 0B00 не влияет ни на какие признаки.

Команда CMA - инвертирует число в аккумуляторе.

Также как и команда LDA не влияет ни на какие признаки.

Формат команды -1 байт, количество машинных тактов в команде – 4, количество машинных циклов – 1.

Команда СМА за один цикл извлекает байт команды и выполняет её.

Диаграмма 1 - Временная диаграмма выполнения микро-ЭВМ команды MOV A,M из программы 2.4

В первом такте каждого машинного цикла процессор выводит слово сос­тояние PSW (Processor Status Word). Это слово содержит характеристики начавшегося машинного цикла. Его биты будут интерпретированы системным контроллером и преобразованы в сигналы управления обменом в данном машинном цик­ле.

С начала второго такта процессор формирует сигнал SYNC для стробирования приема байта состояния PSW в системный контроллер. Затем, по фронту CLK2, процессор выдает сигнал DBIN. А системный контрол­лер, дешифрировав байт PSW, установит активный уровень сиг­нала (строб чтение памяти). Этот сигнал инициирует адресован­ную ячейку к выдаче на линии данных своего содержимого.

Третий такт начинается когда читаемые данные установлены и сигнал READY равен 1. В этом такте процессор примет данные с линии D0..7 и отправит их в регистр команд. Затем снимет свой сигнал DBIN со входа системного контроллера, а последний в ответ снимет свой сигнал с линии управления шины.

В четвёртом такте процессор снимает адрес команды с шины адреса. Её состояние становится неопределённым.

0001 0000 ; Программа 2.4.

0002 0000 ; Инвертирование однобайтного числа

0003 0000 ;Входной параметр: M(0B00) - исходное число

0004 0000 ;Выходной параметр: M(0B01) - результат инвертирования

0005 0800 .org 0800h ; Область программы

0006 0800 21 00 0B LXI H,0B00h ; HLђ0B00

0007 0803 7E MOV A,M ; AђM(HL)

0008 0804 2F CMA ; инвертировать число в A

0009 0805 23 INX H ; HLђHL+1

0010 0806 77 MOV M,A ; A'M(HL)

0011 0807 CF RST 1 ; вернуться в монитор

0012 0808 ;в микро-ЭВМ УМК-80 для возврата в монитор следует пользоваться ;командой RST 7.

0013 0B00 .org 0B00h ;Область данных

0014 0B00 E5 .db 0E5h ;исходный байт

0015 0B01 00 .db 00 ;результат

0016 0B02 .end

tasm: Number of errors = 0

Видоизмененная программа 2.4.

; Программа 2.4.

; Инвертирование однобайтного числа

;Входной параметр: M(0B00) – исходное число

;Выходной параметр: M(0B01) – результат инвертирования

.org 0800h ; Область программы

MVI A, 0E5

CMA ; инвертировать число в A

STA 0B01h ; A’M(0B01)

RST 7 ; вернуться в монитор

;в микро-ЭВМ УМК-80 для возврата в монитор следует пользоваться ;командой RST 7.

.org 0B00h ;Область данных

.db 0E5h ;исходный байт

.db 00 ;результат

.end

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

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