Logo GenDocs.ru

Поиск по сайту:  

Загрузка...

Конспект лекции по курсу - Цифровой техники и микропроцессоры - файл Cifrovaia_tehnica_microprocessori_2.doc


Конспект лекции по курсу - Цифровой техники и микропроцессоры
скачать (274 kb.)

Доступные файлы (1):

Cifrovaia_tehnica_microprocessori_2.doc680kb.17.04.2002 23:03скачать

содержание
Загрузка...

Cifrovaia_tehnica_microprocessori_2.doc

1   2   3   4   5   6   7
Реклама MarketGid:
Загрузка...
^

Ccond addr


(PC)

(addr), ес-ли усл-е

CCC в по-

ле истино

3

11/17

-

-

-

-

-

RET


Возврат из

програм-мы (PC)

((SP))

1

10

-

-

-

-

-

Rcond


Возврат из

програм-мы, если

усл-е CCC

в поле истино

1

5/11

-

-

-

-

-

PCHL


(PC)

(H,L)

1

5

-

-

-

-

-

RSTn


Команда повторно-го старта

1

11

-

-

-

-

-

Коман-ды ввода


вывода

IN port


(A)

(port)

2

10

-

-

-

-

-

OUT port


(port)

(A)

2

10

-

-

-

-

-

Коман-


ды работы со сте-

ком

PUSH rp


(SP)(rp)

1

11

-

-

-

-

-

PUSH PSW


(SP)(A)

и флаго-

вый регистр (Z,S,P,C,

AC)

1

10

+

+

+

+

+

POP rp


(rp)

((SP))

1

10

-

-

-

-

-

POP PSW


Восстановление флагового

регистра

I,Z,S,P,C,

AC и (A)

((rp))

1

10

+

+

+

+

+

XTHL


(H,L)

(SP)

1

18

-

-

-

-

-

SPHL


(SP)

(H,L)

1

5

-

-

-

-

-

Коман-ды управ-ления


МП

EI


Разреше-

ние пре-рывания

1

4

-

-

-

-

-

DI


Заверше-ние пре-

рывания

1

11

-

-

-

-

-

HLT


Останов

1

7

-

-

-

-

-

NOP


Пустая ко-

манда

1

4

-

-

-

-

-



2. MOV В, А
^
По этой команде в регистр В посылается содержимое аккумулятора-

Команда имеет длину один байт.

3. LDA 4220H.
По этой команде из ячейки 2042Н читается второй операнд

и загружается в аккумулятор.

4. ADD В

По этой команде к содержимому аккумулятора прибавляется содержимое

регистра В. Команда имеет длину один байт.

5.STA 4320Н

По этой команде содержимое аккумулятора посылается в

ячейку 2043Н. Команда имеет длину три байта.

6.HLT

Эта команда является последней и останавливает процесс. Команда LDA и STA требуют задания 16-битного адреса, в МП К580 младшие 8 бит адреса помещаются в первой ячейке,а старшие 8 бит - во второй ячейке, Пример 2. Разделение слова на части для выделения из одного байта двух шестнадцатеричных чисел, одно число в старшем полубайте, второй в младшем полубайте. Программа должна из исходного восьмиразрядного двоичного плова выделить четыре младших разряда и отправить их в ячейку 2041, а старшие разряды помещаются на место младших и затем в ячейку 2042. Задача решается следующим образом:

Шаг 1. Прочитать в аккумулятор чисел из ячейки 2040Н. Шаг 2. Выполнить логическую операцию, "U" над содержимым аккумулятора и двоичной константой 00001111. В результате младшие четыре бита исходного слова сохраняются без изменений (поскольку 0^1=0 и 1^1=1),а старшие биты станут равными нулю, (поскольку 0^0=0 и 1^0=0).

Шаг 3. Послать содержимое аккумулятора в ячейку 204IH. Шаг 4. Вновь прочитать число из ячейки 2040Н. Шаг 5. Произвести сдвиг содержимого аккумулятора на 4 бита вправо, с тем чтобы старшие разряды оказались на месте младших.

Шаг 6. Выполнить логическую операцию "U" над содержимым аккумулятора и двоичной константой 00001111. Шаг 7. Послать содержимое аккумулятора в ячейку 2042. В виду того, что для размещения исходного числа и результатов преобразования используются смежные ячейки, отличающиеся адресом на "I", для обращения к ним можно использовать регистр HL, как регистр косвенно-регистровой адресации. Программа имеет следующий вид:

LXI. Н, 4020Н; Загрузить в аккумулятор исходные данные;

MOV А, М MOV В, А; Запомнить данные в РОН для последующей обработки ANI OF H; Замаскировать следующую цифру INX H; Записать в ячейку 2041 младшую MOV M, A; 16-ричную цифру MOV А, В; Четырехкратный циклический сдвиг RRC; вправо исходного числа, которое хранилось в регистре В RRC;

RRC

RRC

ANI OFH; Замаскировать младшую цифру, которая находите я после

сдвига на месте старшей

IMX H; Запомнить старшую цифру в ячейке; 2042

MOV M, A

HLT

В программе на шаге 1 после чтения исходное число запоминается в

регистре В РОН. Это позволяет на шаге 4 не

производить повторного чтения исходного числа из памяти.

Га с смотренные примеры простых программ позволяют отметить

следующие особенности в программировании для Ш К680:

1. Основная часть операций по обработке информации производится над содержимым аккумулятора. Программа начинается с загрузки исходных данных из памяти в аккумулятор и завершается запоминанием результата в ЗУ-

2. При составлении программ следует стремиться к сокращению числа обращений к памяти для чего необходимо запоминать промежуточные данные в РОН.

3. Число обращений к памяти может быть уменьшено за счет косвенной адресации с помощью пар регистров HL, DE, ВС. Для чего следует исходные данные и результаты размещать в смежных ячейках памяти. Косвенная адресация позволяет использовать короткие команды например, команда MOV А, М-однобайтовая-

3. С помощью команды ЛОГИЧЕСКОЕ И можно обнулять некоторые разряды обрабатываемых слов, что дает возможность работать с данными, имеющими длину, меньшую длины ячейки памяти.

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

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

Пример 3. Необходимо разместить нули в шестнадцати ячейках, начиная с адреса 2040, а по адресу 2040+ F записать число FFH. Процесс заполнения памяти выполняется следующим образом.

Шаг 1- Очистить аккумулятор, установить указатель в начало массива ячеек.

Шаг 2. Записать 0 в указанную указателем ячейку памяти.

Шаг 3. Модифицировать указатель и счетчик числа обнуляемых ячеек памяти.

Шаг 4. Проверить,не выполнен ли цикл заданное число раз. Если нет, то повторить шаг 2.

Шаг 5. Записать в ячейку число FF и закончить выполнение программы.





Рис. 2.6 .Стандартна я блок-схема циклической программы.

Для выполнения описанной последовательности можно пользоваться следующей программой:

XRA А; Очистить аккумулятор

LXI H, 4020H; Установить указатель на адрес; 2040 MVI В, OFH Остановить счетчик числа обнуляемых ячеек памяти LOO: MOV М, А; 3аписать "О" в ячейку памяти

IMX H,; Модификация указателя и счетчика DCR В

JNZ, LOO; Проверить завершение записей 0 в ЗУ MVI М, FFH; 3аписать в ЗУ число FF может быть выполнен следующим образом:

Шаг 1. Установить указатели начала массива передаваемых

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

Шаг 2. Прочитать байт из одной области памяти и записать в другую.

Шаг 3. Произвести модификацию указателей и счетчика переданных

байт.

Шаг 4. Проверить не завершена ли передача данных. Если

не завершена перейти к шагу 2. В противном случае закончить процесс. Ниже приводится программа, составленная по указанному алгоритму:

LXI Н, 2040Н; Установить указатели массивов

LXI D.2240Н; и счетчик пересылаемых байт

MVI В, OFH

LOO: MOV А, М; Прочитать байт из памяти и записать его по новому

адресу
1   2   3   4   5   6   7



Скачать файл (274 kb.)

Поиск по сайту:  

© gendocs.ru
При копировании укажите ссылку.
обратиться к администрации
Рейтинг@Mail.ru