Нельзя вот так просто брать и на рандоме значения тыкать. Скорее всего, то, что работает от EBX - просто совпадение. Может ebx был адресом локальной переменной, может совпало с засейвенными регистрами.
Если уж изучать - надо взять нормальный дизассемблер (а не ATnT-шное поделие; например, IDA Pro до какой-то версии как дизассемблер бесплатна) и изучать код функции. Тогда все станет ясно.
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
|