Микропроцессор 8086 предоставляет поддержку как для 8-разрядных, так и для 16-разрядных типов данных. Микропроцессор 80386 добавляет к архитектуре х86 32-разрядные адреса и данные. Различия в типе данных относятся к регистровым операциям, а также к обращениям к памяти.
Почти каждая операция воздействует как на 8-разрядные данные, так и на данные, имеющие более крупный размер. Этот размер определяется режимом, который может быть 16-, либо 32-разрядным.
Разумеется, некоторым программам требуется работать с данными всех трех размеров, поэтому архитектура 80386 предоставляет удобный способ указания каждой версии без существенного увеличения размера кода. Было решено, что в большинстве программ доминируют либо 16-разрядные, либо 32-разрядные данные, и поэтому имеет смысл предоставить возможность установки большего размера по умолчанию,
Этот размер данных по умолчанию устанавливается в одном из разрядов в регистре сегмента кода. Для отмены размера данных, использующегося по умолчанию, к инструкции прикрепляется 8-разрядный префикс, сообщающий машине, что для этой инструкции нужно использовать больший размер.
Решение о применении префикса было позаимствовано у микропроцессора 8086, который позволял использовать несколько префиксов для изменения характера поведения инструкции. Три изначальных префикса отменяли регистр сегмента, используемый по умолчаїшю, блокировали шину для поддержки синхронизации или повторяли следующие за ними инструкцию до тех пор, пока значение регистра ЕСХ не снижалось до нуля. Этот последний префикс был предназначен для работы в паре с инструкцией перемещения байта, чтобы перемещать разное количество байтов. Микропроцессор 80386 также добавляет префикс, отменяющий размер адреса, используемый по умолчанию.
Условные переходы в х86, как и в ARM, основаны на кодах условий, или флагах. Коды условий устанавливаются в качестве побочного результата операции и используются чаще всего для сравнения значения результата с нулем. Затем переходы проверяют коды условий.
Переход на основе значения счетчика команд должен быть указан в виде количества байтов, поскольку, в отличие от ARM и MIPS, не все инструкции 80386 имеют длину 4 байта.
Строковые инструкции являются той самой частью, которая досталась семейству х86 по наследству от микропроцессора 8080 и в большинстве программ обычно не используются. Зачастую они работают медленнее, чем их программные эквиваленты.