Команда JMP
 2508

Команда JMP - это безусловный переход на адрес, указанный с помощью операнда команды. Переход может быть как ближним, в пределах одного сегмента памяти, так и дальним, межсегментным переходом. Адрес перехода может задаваться как непосредственно с помощью меток, так и с помощью регистра, в котором находится адрес перехода. Также адрес перехода может находиться в ячейке памяти.

Читать далее
Команды JCXZ и JECXZ
 6876

Команды JCXZ и JECXZ служат для выполнения перехода в зависимости от состояния регистра CX или ECX. Могут использоваться, например, в циклах, где счетчиком как раз и является регистр CX или ECX.

Читать далее
Команды Jcc
 1727

Команды J<cc> - это набор команд условного перехода. То есть команд, выполняющих переход по адресу при соблюдении каких-либо условий. Синтаксис у этих команд одинаковый - первая буква команды это всегда J, а за ней указывается мнемоническое обозначение условия перехода. Например JZ, JC, JNZ, JNE и т.п.

Читать далее
Команды IRET и IRETD
 1419

Команды IRET и IRETD служат для возврата из подпрограммы обработки прерываний. Команда IRET работает с 16-разрядными регистрами, а команда IRETD - с 32-разрядными.

Читать далее
Команды INT и INTO
 1108

Команда INT производит программный вызов обработчика прерывания. Используется многими операционными системами для вызова своего API. Команда INTO - это то же самое, что и INT 04h, но вызывается только при установленном флаге переполнения OF.

Читать далее
Команды INS, INSB, INSW, INSD
 1134

Команды INS, INSB, INSW, INSD позволяют несколько автоматизировать операции получения данных из порта ввода-вывода. По сути эти команды выполняют команду IN, только результат помещается не в регистр, а в ячейку памяти, адресуемую парой регистров ES:(E)DI, после чего производится сдвиг адреса для записи следующей порции данных в следующую ячейку памяти.

Читать далее
Команды IN и OUT
 9778

Команды IN и OUT используются для работы с внешними устройствами через порты ввода-вывода. Команда IN принимает данные из порта, а команда OUT записывает данные в порт. Номер порта может задаваться как числом от 0 до 255, так и значением регистра от 0 до 65535. Читать из порта или записывать в порт можно как 8-битные, так и 16- и 32-битные данные.

Читать далее
Команды MUL и IMUL
 20887

Команды MUL и IMUL позволяют перемножать два числа. Команда IMUL используется для перемножения чисел со знаком, а команда MUL - для чисел без знака.

Читать далее
Команда HLT
 1207

Команда HLT останавливает работу процессора до прихода очередного прерывания. Используется для случаев когда программе больше нечего делать и она ждет прерывания от внешнего устройства, чтобы продолжить свою работу. Например программа может ожидать, когда с жесткого диска считается нужная порция данных.

Читать далее
Команды ENTER, LEAVE
 3754

Команды ENTER и LEAVE служат для упрощения работы с процедурами, написанными на языках высокого уровня. В таких языках, как C или Pascal обычно при вызове процедуры параметры передаются через стек. Локальные переменные в процедурах также используют стек для хранения своих значений. Рассмотрим подробнее как происходит вызов таких процедур.

Читать далее