Всем доброго вечера. Пишу простой код, включаю Олли. Далее проблема. Код: mov eax,53 add eax,8 mov ecx,2 div ecx push eax Проблема в том, что программа не трассируется после " mov ecx,2". Если деление заменить\убрать - все нормально. В чем дело? Заранее спасибо.
обнуляем регистр edx для того, что бы было куда поставить значение после запятой intel_x128 подскажешь по каким материалам учился толково и просто всё обьесняешь
где взять описание по Русски про эти ELSE IF вроде понятно но по сути мне лично не понятно как с этим работать Intel® 64 and IA-32 Architectures Software Developer’s Manual Volume 2A
просто когда самостоятельно что то разбираешь бывают моменты через одно место и возникает вопрос код работает, но иногда строится бредово Да Гуглядь нужно
Всем спасибо. Только начинаю изучать ассемблер. Меня сбило столку то, что нужно обнулять регистр. Думал это должно автоматически произойти. Ведь когда мы,например, пишем: mov eax,1 mov eax,2 Будет 2 в еах. Почему edx автоматически не очистился под остаток от деления?
MetAlic Совет: если делишь или умножаешь на степень двойки (2, 4, 8, 16...), то проще и правильнее пользоваться shr/shl примеры: shr eax, 1 ;eax = eax / 2 shl eax, 1 ;eax = eax * 2 shr eax, 2 ;eax = eax/4 shl eax, 2 ;eax = eax*4