Система команд i8086 — это набор инструкций, используемых процессорами архитектуры x86, начиная с Intel 8086. Давайте рассмотрим предоставленные команды и определим, какие из них принадлежат этой системе команд:
- out dx, al: Эта команда выводит данные из регистра AL в порт, адрес которого содержится в регистре DX. Она принадлежит системе команд i8086.
- out dx, ah: Эта команда аналогична предыдущей, но выводит данные из регистра AH. Она также принадлежит системе команд i8086.
- mov byte ptr es:[si], 2: Эта команда перемещает значение 2 в байт, адресуемый сегментным регистром ES и индексным регистром SI. Она принадлежит системе команд i8086.
- movsb: Эта команда перемещает байт данных из адреса, указанного в DS:SI, в адрес, указанный в ES:DI, и затем увеличивает или уменьшает SI и DI в зависимости от направления. Она принадлежит системе команд i8086.
- mov ah, [bx]: Эта команда перемещает байт данных из адреса, указанного в регистре BX, в регистр AH. Она принадлежит системе команд i8086.
- mov eax, 1: Эта команда перемещает значение 1 в регистр EAX. Однако регистр EAX является 32-битным, а процессор i8086 работает с 16-битными регистрами. Таким образом, эта команда не принадлежит системе команд i8086.
- mov ax, [3*bx]: Эта команда пытается переместить значение из адреса, вычисленного как 3*BX, в регистр AX. В i8086 нет прямой поддержки арифметических операций с адресами в виде [3*BX], поэтому эта команда не принадлежит системе команд i8086.
Таким образом, команды, принадлежащие системе команд i8086, это:
- out dx, al
- out dx, ah
- mov byte ptr es:[si], 2
- movsb
- mov ah, [bx]