Машинный код Ассемблер
В чем разница между этими командами?
83 с1 02 add ecx, 2
81 c1 02 00 00 00 add ecx,0x2
По дате
По рейтингу
Первая команда соответствует ADD r/m32, imm8, т.е. увеличивает 32-битный регистр на 8-битное значение
Вторая команда соответствует ADD r/m32, imm32, те. увеличивает 32-битный регистр на 32-битное значение
в количестве байт, которое она занимает
gcc генерит первый вариант
Что касается этих команд, то по сути они делают одно и то же - увеличивают значение регистра ecx на 2. Разница в том, что первая команда использует малый регистр кода операции (83), а вторая - большой (81) и передает значение 2 в другом формате (0x2).
первый возможно работает быстрей
Больше по теме Язык ассемблера это просто описание машинного кода, удобное для чтения человеку или что-то другое?
в