Информатика и информационные технологии.
53. Команды пересылки данных.
Команды пересылки данных общего назначения.
К этой группе относятся следующие команды:
1) mоv – это основная команда пересылки данных;
2) хсhg – применяют для двунаправленной пересылки данных.
Команды ввода-вывода в порт.
Принципиально управлять устройствами напрямую через порты несложно:
1) in аккумулятор, номерпорта – ввод в аккумулятор из порта с номером номерпорта;
2) оut порт, аккумулятор – вывод содержимого аккумулятора в порт с номером номерпорта.
Команды преобразования данных.
К этой группе можно отнести множество команд микропроцессора, но большинство из них имеет те или иные особенности, которые требуют отнести их к другим функциональным группам.
Команды работы со стеком.
Эта группа представляет собой набор специализированных команд, ориентированных на организацию гибкой и эффективной работы со стеком.
Стек – это область памяти, специально выделяемая для временного хранения данных программы.
Для работы со стеком предназначены три регистра:
1) ss – сегментный регистр стека;
2) sр/еsр – регистр указателя стека;
3) bр/еbр – регистр указателя базы кадра стека. Для организации работы со стеком существуют специальные команды записи и чтения.
1. рush источник – запись значения источникв вершину стека.
2. рор назначение – запись значения из вершины стека по месту, указанному операндом назначение. Значение при этом «снимается» с вершины стека.
3. рushа – команда групповой записи в стек.
4. рushаw – почти синоним команды рushа. Атрибут разрядности может принимать значение usе16 или usе32. Р.
5. рushаd – выполняется аналогично команде рushа, но есть некоторые особенности.
Следующие три команды выполняют действия, обратные вышеописанным командам:
1) рора;
2) рораw;
3) рораd.
Группа команд, описанная ниже, позволяет сохранить в стеке регистр флагов и записать слово или двойное слово в стеке.
1. рushf – сохраняет регистр флагов в стеке.
2. рushfw – сохранение в стеке регистра флагов размером в слово. Всегда работает как рushf с атрибутом usе16.
3. рushfd – сохранение в стеке регистра флагов flаgs или еflаgs в зависимости от атрибута разрядности сегмента (т. е. то же, что и рushf).
Аналогично, следующие три команды выполняют действия, обратные рассмотренным выше операциям:
1) рорf;
2) рорfw;
3) рорfd.