Команды пересылки данных общего назначения К этой группе относятся следующие команды: 1) mov – это основная команда пересылки данных; 2) xchg – применяют для двунаправленной пересылки данных. Команды ввода-вывода в порт Принципиально управлять устройствами напрямую через порты несложно: 1) in аккумулятор, номерпорта – ввод в аккумулятор из порта с номером номерпорта; 2) out порт, аккумулятор – вывод содержимого аккумулятора в порт с номером номерпорта. Команды преобразования данных К этой группе можно отнести множество команд микропроцессора, но большинство из них имеет те или иные особенности, которые требуют отнести их к другим функциональным группам. Команды работы со стеком Эта группа представляет собой набор специализированных команд, ориентированных на организацию гибкой и эффективной работы со стеком. Стек – это область памяти, специально выделяемая для временного хранения данных программы. Для работы со стеком предназначены три регистра: 1) ss – сегментный регистр стека; 2) sp/esp – регистр указателя стека; 3) bp/ebp – регистр указателя базы кадра стека. Для организации работы со стеком существуют специальные команды записи и чтения. 1) push источник – запись значения источникв вершину стека. 2) pop назначение – запись значения из вершины стека по месту, указанному операндом назначение. Значение при этом «снимается» с вершины стека. 3) pusha – команда групповой записи в стек. 4) pushaw – почти синоним команды pusha. Атрибут разрядности может принимать значение use16 или use32. Р 5) pushad – выполняется аналогично команде pusha, но есть некоторые особенности. Следующие три команды выполняют действия, обратные вышеописанным командам: 1) popa; 2) popaw; 3) popad. Группа команд, описанная ниже, позволяет сохранить в стеке регистр флагов и записать слово или двойное слово в стеке. 1) pushf – сохраняет регистр флагов в стеке. 2) pushfw – сохранение в стеке регистра флагов размером в слово. Всегда работает как pushf с атрибутом use1 6) 3) pushfd – сохранение в стеке регистра флагов flags или eflags в зависимости от атрибута разрядности сегмента (т. е. то же, что и pushf). Аналогично, следующие три команды выполняют действия, обратные рассмотренным выше операциям: 1) popf; 2) popfw; 3) popfd.