Читаем Информатика и информационные технологии: конспект лекций полностью

Принципиально управлять устройствами напрямую через порты несложно. Сведения о номерах портов, их разрядности, формате управляющей информации приводятся в техническом описании устройства. Необходимо знать лишь конечную цель своих действий, алгоритм, в соответствии с которым работает конкретное устройство, и порядок программирования его портов, т. е., фактически, нужно знать, что и в какой последовательности нужно послать в порт (при записи в него) или считать из него (при чтении) и как следует трактовать эту информацию. Для этого достаточно всего двух команд, присутствующих в системе команд микропроцессора:

1) in аккумулятор, номер_порта – ввод в аккумулятор из порта с номером номер_порта;

2) out порт, аккумулятор – вывод содержимого аккумулятора в порт с номером номер_порта.

Команды работы с адресами и указателями памяти

При написании программ на ассемблере производится интенсивная работа с адресами операндов, находящимися в памяти. Для поддержки такого рода операций есть специальная группа команд, в которую входят следующие команды:

1) lea назначение, источник – загрузка эффективного адреса;

2) Ids назначение, источник – загрузка указателя в регистр сегмента данных ds;

3) les назначение, источник – загрузка указателя в регистр дополнительного сегмента данных es;

4) lgs назначение, источник – загрузка указателя в регистр дополнительного сегмента данных gs;

5) lfs назначение, источник – загрузка указателя в регистр дополнительного сегмента данных fs;

6) lss назначение, источник – загрузка указателя в регистр сегмента стека ss.

Команда lea похожа на команду mov тем, что она также производит пересылку. Однако команда lea производит пересылку не данных, а эффективного адреса данных (т. е. смещения данных относительно начала сегмента данных) в регистр, указанный операндом назначение.

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

Но не все так просто с операндом источник. На самом деле, в команде в качестве источника нельзя указывать непосредственно имя операнда в памяти, на который мы бы хотели получить указатель. Предварительно необходимо получить само значение полного указателя в некоторой области памяти и указать в команде получения полный адрес имени этой области. Для выполнения этого действия необходимо вспомнить директивы резервирования и инициализации памяти.

При применении этих директив возможен частный случай, когда в поле операндов указывается имя другой директивы определения данных (фактически, имя переменной). В этом случае в памяти формируется адрес этой переменной. Какой адрес будет сформирован (эффективный или полный), зависит от применяемой директивы. Если это dw, то в памяти формируется только 16-битное значение эффективного адреса, если же dd – в память записывается полный адрес. Размещение этого адреса в памяти следующее: в младшем слове находится смещение, в старшем – 16-битная сегментная составляющая адреса.

Например, при организации работы с цепочкой символов удобно поместить ее начальный адрес в некоторый регистр и далее в цикле модифицировать это значение для последовательного доступа к элементам цепочки.

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

Команды преобразования данных

К этой группе можно отнести множество команд микропроцессора, но большинство из них имеет те или иные особенности, которые требуют отнести их к другим функциональным группам. Поэтому из всей совокупности команд микропроцессора непосредственно к командам преобразования данных можно отнести только одну команду: xlat [адрес_таблицы_перекодировки]

Это очень интересная и полезная команда. Ее действие заключается в том, что она замещает значение в регистре al другим байтом из таблицы в памяти, расположенной по адресу, указанному операндом адрес_таблицы_перекодировки.

Слово «таблица» весьма условно, по сути, это просто строка байт. Адрес байта в строке, которым будет производиться замещение содержимого регистра al, определяется суммой (bx) + (al), т. е. содержимое al исполняет роль индекса в байтовом массиве.

Перейти на страницу:

Все книги серии Экзамен в кармане

Антикризисное управление: конспект лекций
Антикризисное управление: конспект лекций

Конспект лекций соответствует требованиям Государственного образовательного стандарта высшего профессионального образования.Доступность и краткость изложения позволяют быстро и легко получить основные знания по предмету, подготовиться и успешно сдать зачет и экзамен.Рассматриваются понятия экономических признаков на макро– и микроуровнях, принципы в тенденциях макро– и микроэкономики, признаки и порядок установления банкротства предприятий, стратегия и тактика антикризисного управления, ключевые факторы антикризисного управления, особое внимание уделено управлению персоналом кризисного предприятия.Для студентов экономических вузов и колледжей, а также тех, кто самостоятельно изучает данный предмет.

Елена Алексеевна Бабушкина , Елена Бабушкина , Людмила Верещагина , Людмила Сергеевна Верещагина , Олеся Бирюкова , Олеся Юрьевна Бирюкова

Маркетинг, PR / Управление, подбор персонала / Финансы и бизнес

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных