Intel 8080 (пример 9)

Хотя в МП Intel 8080 отсутствуют средства индексирования, задача нахождения нужного элемента в таблице решается сравнительно просто. Чтобы сложить базовый адрес с индексом, в программе используется 16-битная команда сложения DAD. Сложение реализовано не наилучшим образом, поскольку адрес имеет длину 16 бит, а индекс только 8 бит. Перед использованием команды DAD индекс следует расширить до 16 бит путем обнуления старшей половины регистровой пары. Программа имеет следующий вид:

Intel 8080 пример 9

Шестнадцатиричный адрес ячейки памяти

Мнемонический код операции

Шестнадцатиричный код содержимого памятй

00

LXI D. SQTAE

и

01

 

0F

02-

 

00

03

LDA 40 Н

ЗА

04

 

40

05

 

00

06

MOV L, А

6F

 

MVI Н ,0

 

07

 

26

08

 

00

09

DAD D

19

MOV А/ М

OB

STA 41Н

32

ОС

 

41

0D

 

00

HLT

76

0F

SQTAB: DB 0(02)

00

10

1(12)

00

11

4(2^)

04

12

9(32)

Ю9

13

16 (42)

10

14

25 (52)

19

15

36 (б2)

'24

16

49 (72)

31

Рис. 5.38. Результат ассемблирования программы поиска в таблице квадратов для

МП Intel 8080

 

Здесь использованы следующие новые команды: MVI Н, 0

Эта команда обнуляет регистр Н. Orfa занимает две ячейки памяти (во второй ячейке помещается нуль) и выполтагетст .за 3,5 мкс.

DAD D

-.Эта койанда прибавляет содержимое регистровой пары D (регистры D и Е) к содержимому регистровой пары Н (регистры Н и L). Результат помещается в регистровую нару Н. Команда DAD D занимает одну ячейку памяти и выполняется за 5 мкс.

На рис. 5.38 показан результат ассемблирования данной программы для МП Intel 8080, а на рис. 5.39 приведена трасса доступа к таблице. Базовый ррес таблицы помещен в регистры D и Е и при необходимо-ти может использоваться для выборки другого элемента. Если таблица всегда умещается на одной странице длиной £56 ячеек, то приведенную процедуру можно-упростить. В этом случае старшие 8 бит у всех адресов одинакош и можно использовать вместо 16-битной операции сложения 8-бихную,

В последних трех примерах рассматривались особенности программирования1 арифметических операций для микропроцессоров. Используя типовую структуру^ циклического процесса, -можно реализовать двоичную арифметику для чисел, расположенных в нескольких ячейках, а с исщолъзовщтем атециальной команды ДЕСЯТИЧНАЯ КОРРЕКТИРОВКА — десггочную Арифметику для длинных чисел. Более сложные арифметические задаем ^могут реализовываться с помощью таблиц; в большинстве ми кропроцессоров извлечение нужного результата из таблицы-требуёт-выполнен и я нескольких команд.
 



Ремонт айпадов ставрополь - apple ставрополь www.itgen26.net. . Где купить дефлекторы окон.