Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Ввод—вывод, маскирование данных и организация условных переходов





Цель работы: исследование методов подключения и организации обмена информацией с простейшими устройствами ввода — вывода. Изучение программных способов маскирования данных и организации условных переходов в микро-ЭВМ.

 

Краткие сведения из теория

К командам ввода — вывода МП 8086 относятся команды IN<A1> и OUT<A1>. При выполнении команды IN<A1> микро-ЭВМ считывает число из входного устройства с адресом (A1) (A1) и записывает его в аккумулятор. При выполнении команды OUT<A1> МП 8086 записывает число из аккумулятора в выходное устройство с адресом (А1) (А1). Так как адрес устройства указывается в одном байте, то с помощью этих команд микро-ЭВМ может обмениваться информацией не более чем с 256 внешними устройствами.

Обмен данными между микро-ЭВМ и внешними устройствами может вызываться как в определенных местах в программе, так и по сигналам прерывания. В последнем случае подпрограмма обмена данными с внешним устройствами будет вызываться за счет перевода микро-ЭВМ в режим обслуживания прерывания.

Простейшая программа (программа 8.6) перезаписи числа со входного устройства (с адресом 20) в выходное устройство (с адресом 30) имеет следующий вид:

Программа 8.6

Адрес Машинный код Метка Мнемокод Комментарии

0800 DB 20 CNT IN 20 записать число из входного устройства с адресом 20 в аккумулятор

0802 D3 30 OUT 30 записать число из аккумулятора в выходное устройство с адресом 30

0804 С3 0008 JMP СNT идти на CNT

Организация условных переходов в микро-ЭВМ осуществляется с помощью регистра признаков МП 8086.

Управление потоком данных программы

Управление потоком программы - очень важная вещь, это - то, где ваша программа может принимать решения согласно некоторым условиям.

Безусловный переход

Основная команда, которая передает управление к другому пункту в программе - JMP.

Основной синтаксис команды JMP:

JMP label

Чтобы объявлять метку в вашей программе, только напечатают ее имя и добавьте ":" к концу, метка может быть любая символьная комбинация, но это не может начинаться с числа, например имеются 3 законных определения метки:

label1:
label2:
a:

Метка может быть объявлена на отдельной линии или перед любой другой командой, например:

X1: MOV AX, 1 x2: MOV AX, 2

Имеется пример команды JMP:

ORG 100h MOV AX, 5; set AX to 5.MOV BX, 2; set BX to 2. JMP calc; go to 'calc'. back: JMP stop; go to 'stop'. calc:ADD AX, BX; add BX to AX.JMP back; go 'back'. stop:RET; return to operating system.

END; directive to stop the compiler.

 

Конечно имеется более легкий способ вычислить некоторых из двух чисел, но это - все еще хороший пример команды JMP.

Поскольку Вы можете видеть от этого примера JMP, способен передать управление, и вперед и назад. Это может подскакивать где-нибудь в текущем сегменте кода (65,535 байтов).







Date: 2016-07-18; view: 647; Нарушение авторских прав



mydocx.ru - 2015-2025 year. (0.293 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию