Что касается чтения чего-либо из памяти, они функционально одинаковы.Уже упомянутые различия не изменяют флаги, когда они используются строго для адресации смещения регистра [ebx + ecx], и что вы изменяете ebx и уничтожаете свой базовый адрес.Вы также потребляете вдвое больше инструкций, в два раза больше выборок.x86 - переменная длина инструкции, это не обязательно означает, что инструкции будут в два раза больше, но это означает, что для выполнения той же задачи требуется больше тактовых циклов и больше места в кеше.в свое время, и я рекомендую изучить другие наборы инструкций (ARM, thumb, mips, msp430, avr и т. д.).Вы часто будете видеть эти компромиссы, иногда вы специально захотите сделать это, не разрушая регистр и не изменяя флаги.Иногда вы хотите или нуждаетесь в адресации смещения регистра, чтобы сделать код быстрее или чище, чем потреблять регистр и дополнительную инструкцию для каждой ссылки в каждом цикле, например.Зная, что многие процессоры имеют адресацию смещения регистра, вы можете написать свой высокоуровневый код, чтобы воспользоваться этими преимуществами, например, если вы заинтересованы в производительности, как общей, так и целевой.