s
означает знак расширения.
SUB
80-83 обозначает sub reg, imm
.
SUB
В версии 82 и 83 знака расширить непосредственный операнд, как можно видеть здесь
http://ref.x86asm.net/#column_flds
ш означает бит ш (индекс 0 бит, размер операнда) присутствует; могут быть объединены с битами d или s. 04 ADD
s означает бит s (бит-индекс 1, знак-протяженность); может сочетаться с битом w. 6B IMUL
.
Позволяет немедленному операнду быть меньшим и, следовательно, позволяет использовать более компактный код.
Вы можете просмотреть полную карту опкода по адресу: http://ref.x86asm.net/geek.html
Обратите внимание, что, как 80 и 82 обозначают арифметика с байтовых операндов. 80 - без, а 82 - с расширением знака; однако расширение знака в байтовом операнде не является оператором, поэтому 82 является псевдонимом для 80.
Чтобы упростить декодирование, Intel предпочитает не переупаковывать избыточные 82 кода операций, а просто разрешать их как псевдонимы для официальных 80-ти.
Карта кода операции x86 содержит около дюжины псевдонимов, продержавшихся в те дни, когда Intel не могла просто выбросить больше кремния в проблему декодирования.
_ «Я искал через Интернет, но я не нашел четкого ответа». _ Не нужно искать в Интернете. Просто получите архитектуры _Intel® 64 и IA-32 Руководство разработчика программного обеспечения. Во всяком случае, '' 'в этом нестандартном описании, похоже, выступает за расширение знака непосредственных операндов. – Michael