ВУЗ:
Составители:
зирована, то задержка может осуществляться с большой точностью. Длительность такта – 0,5 мкс при работе МП на частоте
2 МГц.
Для реализации малых задержек можно использовать приведённые в табл. 4 команды, выполнение которых не изменяет
содержимого регистров и элементов памяти МПК (за исключением содержимого счётчика команд).
С помощью команд из табл. 2 можно обеспечить задержку на любое число тактов (кроме шести), начиная с четырёх.
Однако задержки большой длительности целесообразно получать путем организации счёта, т.е. циклических участков в
программе. В этом случае задача сводится к выбору числа каскадов счётчика, определению требуемых коэффициентов пере-
счёта и к введению дополнительных малых задержек для обеспечения точного значения заданного времени задержки.
Таблица 2
Команда
Число так-
тов
Число байтов в формате
команды
Название команды и примечание
NOP 4 1 Пустая операция
MOV A, A 5 1 Пересылка (А) ← (А)
ADI 00H 7 2 Сложение А с нулём (может повлиять на флаги!)
XTHL
XTHL
18
18
1
1
Двукратный обмен вершины стека с Н-L – задержка на 36 тактов
PUSH B
POP B
11
10
1
1
Запись в стек с последующим считыванием – задержка на 21
такт
На базе однокаскадного счётчика целесообразно получать задержки длительностью до десятка миллисекунд. Для полу-
чения более длительных задержек число каскадов счётчика увеличивается программным путём (см. табл. 2).
4. СЛОЖЕНИЕ И ВЫЧИТАНИЕ ЧИСЕЛ
Сначала рассмотрим выполнение этих операций над числами без знаков, что соответствует, например, операциям над
кодами и положительными числами.
Если операнды являются однобайтовыми числами, то их сложение и вычитание осуществляется командами ADD R и
SUB R. При выполнении команды сложения возможно переполнение разрядной сетки, о чём свидетельствует значение флаги
переноса С. Особенностью выполнения команды вычитания является то, что её результат представлен в дополнительном
коде. Напомним, что при положительном числе дополнительный код совпадает с прямым, а при отрицательном он равен
дополнению данного числа до 2
n
. Для двоичных отрицательных чисел дополнительный код вычисляют путём инверсии всех
разрядов прямого кода с последующим добавлением единицы.
Если прямой код числа содержится в аккумуляторе, то переход к дополнительному коду осуществляется с помощью ко-
манд инверсии СМА и инкремента (сложения с единицей) INR A. Обратный переход от дополнительного кода числа к прямому
осуществляют аналогичным образом – с помощью команд декремента (вычитания единицы) DCR A и инверсии СМА.
Если хотя бы один из операндов занимает более
n
разрядов (где
n –
разрядность МП), то говорят, что вычисления про-
изводятся с повышенной точностью. В МП серии КР580 для сложения двухбайтовых слов предусмотрена команда DAD RP.
В общем же случае сложение и вычитание многобайтовых слов осуществляется путём многократного использования команд
ADC R и SBB R.
О наличии переполнения разрядной сетки, которое может произойти при сложении как двух положительных, так и двух
отрицательных чисел, свидетельствует факт неравнозначности значений флагов переноса и знака. Если же складываются
числа разных знаков, то переполнение не может произойти, а значение флага переноса игнорируется.
5. УМНОЖЕНИЕ И ДЕЛЕНИЕ
Умножение чисел αβ = γ реализуется с помощью команд суммирования и сдвига. Для получения γ к сумме частичных
произведений
∑
добавляется α, если очередной разряд β = 1, после чего осуществляется сдвиг
∑
; указанная процедура по-
вторяется для каждого разряда β. При этом анализ β можно начинать со старших разрядов и соответственно сдвигать влево,
либо наоборот.
Знак γ обычно формируют независимо от описанной процедуры умножения на основе анализа знаков сомножителей, а
при осуществлении умножения используют прямые коды сомножителей без знака. В этом случае необходимо учитывать, что
освобождающиеся разряды при сдвигах должны заполняться нулями.
Деление двоичных чисел основывается на последовательном вычитании делителя из разрядов делимого и остатка от де-
ления. Таким образом, деление реализуется с помощью операций сдвига, вычитания и анализа результата вычитания. По
аналогии с умножением здесь целесообразно осуществлять деление чисел без знаков, а знак частного определять отдельно
на основе анализа знаков операндов. Перед выполнением деления необходимо убедиться, что делитель не равен нулю.
Рассмотренные варианты выполнения арифметических действий с помощью МП подразумевают представление чисел в
форме с фиксированной запятой (точкой).
Страницы
- « первая
- ‹ предыдущая
- …
- 4
- 5
- 6
- 7
- 8
- …
- следующая ›
- последняя »