Montaj dilinde bölümlemeyi öğreniyorum. Öğrendiğim kitaba göre, islami operasyonun sonucu eax ve geri kalanlar ise edx.Mod işleci montajda nasıl uygulanır
Kitapta bir uygulama, number = result % divisor
montajını uygulamaktır.
Bunun, edx'in sonuç olması dışında normal bir bölme işlemine eşdeğer olacağını düşünürdüm. Bununla birlikte, bu işe yaramadı ve edx, görünüşte çöp olarak geri dönüyordu.
Neden? Yukarıdaki sözde kodu montajda nasıl uygularsınız?
Küçük bir C işlevi kodlar ve oluşturulan derleme (örneğin, gcc -O -fverbose-asm -S tiny.c) ile) –
Sorunuza benzer http://stackoverflow.com/questions/8021772/assembly-language-how-to-do-modulo/8022107 Belirli bir sorunla karşılaşıyorsanız gerçek kodunuzu gösterin (büyük olasılıkla, rdx'in üst üst kısmını temizlemiyorsunuzdur: rax, edx: eax veya dx: ax). – user786653
Kodu görmeden tahmin etmek zor, ancak ortak bir kayma, sıfırdan önce sıfır edx'i unutuyor. –