На макроассемблере ms-dos


Скачать 0.6 Mb.
Название На макроассемблере ms-dos
страница 3/11
Тип Реферат
rykovodstvo.ru > Инструкция по эксплуатации > Реферат
1   2   3   4   5   6   7   8   9   10   11

2. Инструкции пересылки данных


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

Все инструкции пересылки данных можно условно разделить на 4 группы:

  1. Общего назначения:

MOV – пересылка байта или слова

PUSH – сохранение слова в стеке

POP – восстановление слова из стека

XCLHG – обмен байтами или словами

XLAT – трансляция байта

  1. Ввода/вывода:

IN – ввод байта или слова из порта

OUT – вывод байта или слова в порт

  1. Адресные операции:

LEA – загрузка исполнительного адреса

LDS – загрузка указателя с использованием DS

LES – загрузка указателя с использованием ES

  1. Пересылка флагов:

LAHF – загрузка флагов в AH

SAHF – установка флагов из AH

PUSHF – сохранение флагов в стеке

POPF – восстановление флагов из стека

Все инструкции пересылки данных, кроме POPF и SAHF, значений флагов процессора не изменяют.

Подробнее эти инструкции описаны в разделах 2.1–2.4.

2.1. Инструкции общего назначения

MOV приёмник, источник ПЕРЕСЫЛКА БАЙТА ИЛИ СЛОВА


Байт или слово пересылается из источника в приёмник.

PUSH источник СОХРАНЕНИЕ СЛОВА В СТЕКЕ


Указатель стека (регистр SP) уменьшается на 2, и в вершину стека помещается слово из источника. PUSH часто используется для занесения в стек параметров процедуры перед её вызовом. В общем случае это основное средство для со­хра­не­ния временных данных.

POP приёмник ВОССТАНОВЛЕНИЕ СЛОВА ИЗ СТЕКА


Слово данных из текущей вершины стека, адресуемой регистром SP, пересылается в операнд-приёмник. Регистр SP затем увеличивается на 2 и указывает на новую вершину стека. POP может использоваться для восстановления из стека временных данных.

XCLHG приёмник, источник ОБМЕН БАЙТАМИ ИЛИ СЛОВАМИ


Эта инструкция осуществляет обмен содержимым (байт или слово) между операндами источник и приёмник. При использовании в сочетании с префиксом LOCK XCLHG может проверять и устанавливать семафор, управляющий доступом к разделяемому несколькими процессорами ресурсу.

XLAT таблица-трансляции ТРАНСЛЯЦИЯ БАЙТА


Байт в регистре AL замещается байтом из созданной пользователем 256-байтной таблицы трансляции. Предполагается, что регистр BX содержит адрес начала этой таблицы. Содержимое AL используется как индекс в таблице и замещается байтом, выбираемом из таблицы со смещением, соответствующим двоичному со­дер­жи­мо­му регистра AL (первый байт таблицы имеет смещение 0). Инструкция XLAT мо­жет использоваться для трансляции символов из одного кода в другой.

2.2. Ввод/вывод

IN аккумулятор, порт ВВОД БАЙТА ИЛИ СЛОВА ИЗ ПОРТА


Байт или слово, полученные из указанного порта, помещается в регистр AL или AX соответственно. Номер порта может задаваться либо непосредственно числом в пределах от 0 до 255, обеспечивающим доступ только к этим портам, либо указанием регистра DX, который предварительно должен быть загружен требуемым значением, что обеспечивает доступ к портам с номерами от 0 до 65535.

OUT порт, аккумулятор ВЫВОД БАЙТА ИЛИ СЛОВА В ПОРТ


Байт или слово, предварительно помещенные в регистр AL или AX соответственно, выводится в указанный порт. Номер порта может задаваться либо непосредственно числом в пределах от 0 до 255, обеспечивающим доступ только к этим портам, либо указанием регистра DX, который предварительно должен быть загружен требуемым значением, что обеспечивает доступ к портам с номерами от 0 до 65535.

2.3. Адресные операции


Адресные операции работают не с содержимым или значением переменных, а с их адресами. Они наиболее полезны при обработке списков, базированных переменных и в операциях со строками.

LEA приёмник, источник ЗАГРУЗКА ИСПОЛНИТЕЛЬНОГО АДРЕСА


Смещение операнда-источника помещается в операнд-приёмник. Источник должен быть операндом памяти, а приёмник – 16-битовым регистром. Эта инструкция может использоваться для установки регистров перед XLAT или перед операциями со строками, которые предполагают, что некоторые регистры загружены адресными значениями.

LDS приёмник, источник ЗАГРУЗКА УКАЗАТЕЛЯ С DS


Указатель представляет собой 32-битовую адресную переменную, первое слово которой содержит смещение, а второе – базовый адрес (сегмент). Адрес указателя в этой инструкции задается операндом-источником, который должен быть опе­ран­дом памяти. Слово смещения из указателя помещается в операнд-приёмник, в качестве которого может быть указан 16-битовый регистр. Слово сегмента из указателя помещается в регистр DS. Указание SI в качестве приёмника является обычным способом подготовки для строковой операции строки-источника, расположенной вне текущего сегмента данных.

LES приёмник, источник ЗАГРУЗКА УКАЗАТЕЛЯ С ES


Указатель представляет собой 32-битовую адресную переменную, первое слово которой содержит смещение, а второе – базовый адрес (сегмент). Адрес указателя в этой инструкции задается операндом-источником, который должен быть опе­ран­дом памяти. Слово смещения из указателя помещается в операнд-приёмник, в качестве которого может быть указан 16-битовый регистр. Слово сегмента из указателя помещается в регистр ES. Указание DI в качестве приёмника является обычным способом подготовки для строковой операции строки-приёмника, расположенной вне текущего дополнительного сегмента.

2.4. Операции с флагами

LAHF ЗАГРУЗКА ФЛАГОВ В AH


Флаги SF, ZF, AF, PF и CF, являющиеся аналогами флагов процессоров 8080/8085, копируются в биты 7, 6, 4, 2 и 0 соответственно регистра AH. Биты 5, 3 и 1 не определены. Сами флаги не изменяются. Эта инструкция обеспечивает воз­мож­ность выполнения на 8086 или 8088 программ, написанных для процессоров 8080/8085.

SAHF УСТАНОВКА ФЛАГОВ ИЗ AH


Биты 7, 6, 4, 2 и 0 регистра AH замещают значения флагов SF, ZF, AF, PF и CF со­от­ветственно. Значения флагов OF, DF, IF и TF не изменяются. Эта инструкция вве­дена для совместимости с процессорами 8080/8085.

PUSHF СОХРАНЕНИЕ ФЛАГОВ В СТЕКЕ


По этой инструкции указатель стека SP уменьшается на 2, и в вершину стека по­ме­ща­ются все флаги процессора 8086/8088 в формате слова согласно их рас­по­ло­жению в регистре флагов. Сами флаги не изменяются.

POPF ВОССТАНОВЛЕНИЕ ФЛАГОВ ИЗ СТЕКА


Из вершины стека, адресуемой регистром SP, в регистр флагов процессора 8086/8088 помещаются специфичные биты, соответствующие расположению фла­гов в регистре флагов. После этого SP увеличивается на 2 и указывает на новую вер­шину стека. Комбинации инструкций PUSHF и POPF позволяют процедуре со­хра­нять и восстанавливать флаги вызвавшей её программы. Кроме того, таким об­ра­зом можно устанавливать значение флага TF (ловушка), т. к. специальной ин­струк­ции для этого нет. Для этого следует сохранить флаги в стеке, изменить значение бита 8 и затем восстановить флаги из стека.
1   2   3   4   5   6   7   8   9   10   11

Похожие:

На макроассемблере ms-dos icon Программный модуль Сбербанка России для обслуживания банковских карт на ккм под управлением dos
Интегрируемый программный модуль sb pilot exe используется совместно с программным обеспечением контрольно-кассовых машин для проведения...
На макроассемблере ms-dos icon Это один из самых простых языков, но далеко не один из самых слабых....
Программы на Turbo Pascal пишутся только для платформы ms-dos, но никак не зависят от конфигурации компьютера. Главным требованием...
На макроассемблере ms-dos icon Отчет по курсу "Корпоративные информационные системы" Тема: "Корпоративные...
Тема: "Корпоративные информационные системы (кис): Галактика, Microsoft Dynamics ax, Эталон (dos-версия), sap r/3"
На макроассемблере ms-dos icon Лабораторная работа №1 «Применение средств операционных систем и...

На макроассемблере ms-dos icon Лабораторная работа №1 «Применение средств операционных систем и...

На макроассемблере ms-dos icon Руководство пользователя бортовая диагностика для операционных систем ms-dos
...
На макроассемблере ms-dos icon Требования к продукции
Персональный компьютер Lenovo ThinkCentre Tiny M700 I5 6400T 4Gb 500gb 7200 Intel hd nodvd wi-Fi usb kb&Mouse dos (10HY003tru) или...
На макроассемблере ms-dos icon Содержание
ОС, — невозможность работы с графикой, «объемными» программами и однозадачность. Под dos было написано великое множество программ,...
На макроассемблере ms-dos icon Библиотека системного программиста
В книге приведено описание методик программирования аппаратуры персональных компьютеров, выполненных с применением процессоров Intel,...
На макроассемблере ms-dos icon Программирование под Windows
Программная организация Windows: модули kernel, use, gdi. Отличия Windows от dos. Многозадачность и единый интерфейс. Гибкое управление...
На макроассемблере ms-dos icon Современные операционные системы
Работа, написана так, что в ней последовательно изложен материал, начиная от Windows 95 кончая новейшей операционной системой Windows...
На макроассемблере ms-dos icon Руководство оператора по кад400
Кад400 (далее – комплекс), владеющих базовыми знаниями и навыками работы на персональном компьютере типа ibm pc в операционных системах...
На макроассемблере ms-dos icon Первым делом запустите команду
Первым делом запустите команду cmd (в Windows 8 запускать от имени администратора), чтобы открыть окно сеанса dos, в котором будут...

Руководство, инструкция по применению




При копировании материала укажите ссылку © 2024
контакты
rykovodstvo.ru
Поиск