![]() КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Команда преобразования данных XLAT
КОМАНДЫ РАБОТЫ с АДРЕСАМИ и УКАЗАТЕЛЯМИ ПРИМЕР ИСПОЛЬЗОВАНИЯ КОМАНД IN и OUT Выполнение команды не влияет на флаги. КОМАНДА ВЫВОДА в ПОРТ OUT Формат команды: OUT ном_порта,аккумулятор Передает байт, слово, двойное слово из регистра AL/AX/EAX ввода-вывода в ПОРТ., определяемый первым операндом. Команда применяется для прямого управления оборудованием компьютера посредством портов. Номер порта задается первым операндом в виде непосредственного значения или значения в регистре DX. Непосредственным значением можно задать порт с номером в диапазоне 0-255. При использовании порта с бόльшим номером используется регистр DX.
Ниже – фрагмент действий с портами микросхемы 8255, которая осуществляет интерфейс с периферией, в т.ч. с клавиатурой. У неё три регистра, адресуемых портами 60, 61 и 62. Читать можно из всех, но писать – только в порт 61. Приводимые ниже действия – это часть кода обработчика прерывания номер 9 (клавиатуры). Смысл фрагмента в том, что для подтверждения скан-кода надо на короткое время подать 1 на старший бит порта 61. in al, 60h; читаем скан-код нажатой клавиши ; из порта 61h в 1
И два примера про использование DX для указания номера порта:
LEA назначение, источник — загрузка эффективного адреса; Пример: LEA dx, MemVar Пример: LDS SI, MemVar; Адрес MemVar -> DS:SI Пример: LES dx, MemVar; Адрес MemVar -> ES:DX Пример: LGS si, MemVar; Адрес MemVar -> GS:SI Пример: LFS dx, MemVar; Адрес MemVar -> FS:DX Заменяет значение AL старое другим значением AL новое, которое берётся из таблицы перекодировки по индексу [AL старое]. Бывает нужна при перекодировках текстов с однобайтными символами. ПРОБЛЕМА ДЛЯ ИЛЛЮСТРАЦИИ Надо символьную строку – запись 16-ричного числа превратить в само это число и поместить его, например, в регистр AL. Ну, например, есть строка ‘B7’. А нам нужно, чтобы в AL в итоге оказалось Замену символов строки на соответствующее число-цифру сделаем РЕШАЕМ ЗАДАЧУ ПРЕОБРАЗОВАНИЯ Символьной ЗАПИСИ hex-числа в само это ЧИСЛО ПОСТРОИМ ТАБЛИЦУ ПЕРЕКОДИРОВКИ: СИМВОЛЫ: 0 1 2 3 4 5 6 7 8 9 A B C D E F a b c d e f как литеры 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 10 11 12 13 14 15.
Дата добавления: 2014-01-07; Просмотров: 726; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |