1 Лекция 2 Система команд и примеры программ для МП 8086 Лектор: Люличева И.А.

Презентация:



Advertisements
Похожие презентации
Лекция 10. Контроллеры параллельной передачи данных. Параллельный интерфейс.
Advertisements

Учебный курс Введение в цифровую электронику Лекция 3 Цифровые устройства с внутренней памятью кандидат технических наук, доцент Новиков Юрий Витальевич.
Регистры общего назначения – сумматор, регистр данных, адресный регистр и т.д. Арифметико- логическое устройство Устройство управления
Строковые операции Программирование на ассемблере.
Микропроцессорные системы ЭФУ АРХИТЕКТУРА 8-РАЗРЯДНОГО МИКРОПРОЦЕССОРА.
Машинная команда Энциклопедия учителя информатики Газета «Первое сентября»
Циклы в языке Ассемблер.. Цикл со счетчиком Цикл со счетчиком можно организовать с помощью конструкций IF и GOTO. В нашем примере тело цикла должно повторяться.
Микропроцессоры Архитектура ЭМП Лекция 9. Архитектура ЭМП В предыдущем параграфе мы изучили схему выводов и их назначение у типового микропроцессора.
Программирование на Ассемблер к.т.н., доц. Красов А.В. Лекция 3 ФакультетМТС Курс3 Семестр6 Форма контролязачет Лекции14 часов Лабораторные работы12 часов.
С ИСТЕМА КОМАНД ЕОМ. С ТРУКТУРА ТА ФОРМАТИ КОМАНД.
ПОДСИСТЕМА ВВОДА-ВЫВОДА 1. Общие принципы организации ввода-вывода 2 Систему ВВ можно представить в виде пространства ВВ IOSEGment и ряда команд ВВ. Пространство.
Организация обмена информацией Функции устройств магистрали.
Электронная энциклопедия. Содержание Архитектура ПК Системы счисления.
Тема 2. Способы адресации и система команд МП. Непосредственная адресация Суть способа. Требуемые данные (#data ̶ непосредственный операнд, константа)
Тема урока: ТРИГГЕР. или не не Разнообразие современных компьютеров очень велико. Но их структуры основаны на общих логических принципах, позволяющих.
Учебный курс Введение в цифровую электронику Лекция 5 Обмен информацией в микропроцессорной системе кандидат технических наук, доцент Новиков Юрий Витальевич.
Архитектура ЭВМ Практика 3. Линейные программы на языке ассемблера.
Микропроцессоры Лекция 6. СТРУКТУРА ЭЛЕМЕНТАРНОГО МИКРОПРОЦЕССОРА (ЭМП) Основным устройством всех цифровых систем (ЦС) является центральный процессор.
Лекция 4. Режимы работы микропроцессора. Взаимодействие микропроцессора с остальными устройствами Взаимодействие МП с остальными устройствами МПС происходит.
Московский Государственный Университет Приборостроения и Информатики Основы программируемой логики.
Транксрипт:

1 Лекция 2 Система команд и примеры программ для МП 8086 Лектор: Люличева И.А.

2 Группы команд универсаль- ных микропроцессоров На прошлой лекции мы выучили следующие группы команд: 1. Команды передачи данных. 2. Команды арифметических операций. 3. Команды логических операций и сдвигов. 4. Команды передачи управления. 6. Команды управления микропроцессором. В данной лекции мы рассмотрим группу команд работы с цепочками и примеры программ ввода- вывода.

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

4 Команды работы с цепочками Простейший из них - REP, который вызывает повторение действия команды над следующими элементами цепочки. Повторение рассчитано на максимальную длину цепочек 64К и выполняется значительно быстрее цикла LOOP. Цепочечные команды могут иметь только один операнд-источник, или операнд-получатель или оба операнда одновременно. В качестве адреса операнда-источника (SRC) всегда используется регистровая пара DS:SI. Операнд-получатель – адресуется ES:DI.

5 Команды работы с цепочками Команда MOVS передает байт или слово из цепочки, которая адресуется DS:SI, в цепочку, которая адресуется ES:DI. Команда передачи цепочки байт MOVSB после передачи байта увеличивает содержание регистров SI и DI на 1, а команда передачи цепочки слов MOVSW после передачи слова увеличивает их содержание на 2. Формат команды: MOWSB или MOVSW

6 Команды работы с цепочками Команда сравнения цепочек CMPS производит вычитание байта или слова цепочки которая адресуется DS:SI, в цепочку, которая адресуется ES:DI. В зависимости от результата вычитания устанавливаются флаги, но сами операнды не изменяются. Команда сравнения цепочек байт CMPSB после каждой операции сравнения увеличивает содержание регистров SI и DI на 1, а команда сравнения цепочек слов CMPSW - на 2. Формат команды: CMPSB или CMPSW

7 Команды работы с цепочками Команда STOSB/W передает байт или слово из AX, в цепочку, которая адресуется регистровой парой ES:DI. Команда после передачи байта/слова увеличивает содержание регистра DI на 1 или 2. Формат команды: STOSB, STOSW

8 Команды работы с цепочками Пример применения команды STOSB/W для затирания экрана. Упрощенный АЛГОРИТМ 1. Настроить адрес начала цепочки на начало экрана. 2. Занести в счетчик длину цепочки 3. Занести в АХ Вызвать команду заполнения цепочки.

9 Команды работы с цепочками Пример применения команды STOSB/W для затирания экрана. ПРОГРАММА. MOV AX, 0B800H { Далее эти 2 строки } MOV ES, AX { НЕ повторяем! } XOR DI,DI MOV CX, 80*25 XOR AX,AX REP STOSW

10 Команды работы с цепочками АЛГОРИТМ заполнения 10й строки экрана цифрой 3 – полностью линейный. 1. Настроить адрес начала цепочки на 10ю строку. 2. Занести в счетчик длину цепочки (80) 3. Занести в АХ цвет и код цифры Вызвать команду заполнения цепочки.

11 Команды работы с цепочками Пример применения команды STOSB/W для заполнения 10й строки экрана цифрой 3. MOV DI, 160*10 (1 символ занимает 2байта) MOV CX, 80 MOV AX, 1E33Н (33Н – ASCII код цифры 3) REP STOSW

12 Примеры программ ввода/вывода АЛГОРТМ заполнения столбика нарастающим кодом - циклический. 1. Настроить адрес начала цепочки на заданный столбик. 2. Занести в счетчик размер столбика (25) 3. Занести в АН цвет (например, 2E) и в АL код цифры (код h). 4. Вывести на экран содержимое АХ. 5. Увеличить адрес на 160 – на размер строки. 6. Уменьшить счетчик на 1 7. Проверить результат на 0 – если НЕ равно 0 - перейти к п.4, иначе – конец.

13 Примеры программ ввода/вывода ПРОГРАММА заполнения столбика нарастающим кодом. MOV AX, 0B800H MOV ES, AX XOR DI,DI MOV CX, 25 MOV AX, 2F42H (42H – код буквы ES:[DI], AX INC AX ADD DI, 160

14 Примеры программ ввода/вывода ПРОГРАММА ввода данных из массива и вывода их в два столбика. XOR DI,DI MOV CX, IN AX, 40H (40H – АДРЕС порта) MOV ES:[DI], AX ADD DI, 80

15 Примеры программ ввода/вывода Алгоритм ПРОГРАММЫ опроса портов с задержкой. 1. Занести в счетчик число повторений (100) 2. Выполнить программу ввода массива из порта. 4. Вызвать подпрограмму задержки 6. Уменьшить счетчик на 1 7. Проверить результат на 0 – если НЕ равно 0 - перейти к п.4, иначе – конец.

16 Параллельный порт Параллелельные порты предназначенны для обмена данными с внешними устройствами, при этом в качестве внешнего устройства может использоваться любой источник информации (кнопки, датчики, микросхемы приемников, синтезаторов частот, дополнительной памяти, исполнительные механизмы, двигатели, реле и даже другая МПС). В качестве примера параллельного порта мы изучаем БИС 8255, которая позволяет реализовать большинство известных протоколов обмена по параллельным каналам. Ее стр. схему и принцип программирования разберем на ПЗ.

17 Структурные схемы интерфейсных БИС

18 Программируемый таймер Программируемый таймер КР580ВИ53 (аналог Intel i8253) содержит три независимых счетчика. Каждый из трех счетчиков может быть запрограмирован на 6 режимов работы и систему исчисления (двоичную или десятичную). Таймер может работать как: делитель частоты; счетчик событий; цифровой одновибратор;

19 Программируемый таймер Режим 1 - ждущий мультивибратор с программно- устанавливаемой продолжительностью сигнала. В этом режиме выход канала после загрузки числа в счетчик канала устанавливается на уровень "0" после первого тактового сигнала, следующего за передним фронтом на управляющем входе. Одновременно начинается счет, а достигши конечного числа на выходе устанавливается уровень "1". Режим 2 - генератор тактовых сигналов. В этом режиме на выходе канала через число периодов тактовой частоты, записанное в счетчике канала, появляется уровень "0" продолжительностью в один период тактовой частоты.

20 Программируемый таймер Режим 3 - генератор прямоугольных сигналов. В этом режиме на выходе канала будет уровень "1" на протяжении первой половины интервала времени, определяемого числом в счетчике, и уровень "0" на протяжении второй половины. Режим 4 - программный способ. После установки режима 4 на выходе канала появляется уровень "1". Когда число полностью загружено в счетчик канала и на управляющий вход представлен уровень "1", начинается счет, и достигши конечного числа на выходе появляется импульс уровня "0" продолжительностью в один период тактовой частоты. Режим 5 - схемотехничаски управляемый способ. Работа канала в этом случае аналогична работе в режиме 4 с тем лишь различием, что счетчик канала после загрузки начинает счет только по переднему фронту на управляющем входе. Кроме того, если во время счета на управляющем входе снова появится передний фронт сигнала, то счет будет начат сначала.

21 Управляющие слова интерфейсных БИС D7D6D5D4D3D2D1D0 Вибор канала 00 - канал канал канал 2 Сколько и какие байты загружать 00 - читання на льоту 01 – чт/зап младшего байта 10 – чт/зап старшого байта 11 - чт/зап слова – ст И мл байта Режим работы канала 00 - режим режим режим режим режим режим 5 1- десятичны й счет 0– двоичный счет

22 Примеры программирования интерфейсных БИС Программа инициализации 2-х счетчиков таймера должна иметь вид: MOV AL, B ; MOV AL, B ; 00-Режим Сч0, 01-мл. байт, 010-реж.2,1-дв/дес OUT 43H,AL ; вывод в регистр режима MOV AL, B ; 01-Режим Сч1,11-два байта,011-реж.2,1-дв/дес OUT 43H ; вывод в регистр режима MOV AL, 10H ; N деление в Сч0 OUT 40H ; Адрес Сч0 MOV AL, 00 ; мл. байт N деление в Лч1 OUT 41H ; Адрес Сч1 MOV AL, 20H ; ст. байт N деление в Лч1 OUT 41H ; Адрес Сч1

23 Вопросы для самоконтроля Форматы команд МП 8086 Поясните особенности формирования физического адреса из логического в МП Поясните особенности команд работы с цепочками и сегментных регистров. Приведите примеры использования команд работы с цепочками. Приведите пример программы циклического опроса 20 портов и укажите использованные виды адресации