मैं असेंबली भाषा में विभाजन के बारे में सीख रहा हूं। जिस पुस्तक से मैं सीख रहा हूं, उसके मुताबिक, निष्क्रिय संचालन का नतीजा ईएक्स में और शेष में एडक्स में रखा गया है।विधानसभा में मॉड ऑपरेटर को कैसे कार्यान्वित करें
पुस्तक में एक अभ्यास विधानसभा में number = result % divisor
लागू करना है।
मैंने सोचा होगा कि यह एक सामान्य विभाजन ऑपरेशन के बराबर होगा, सिवाय इसके कि एडीएक्स परिणाम होगा।
हालांकि यह काम नहीं करता था और एडक्स प्रतीत होता है कचरा।
क्यों? आप उपरोक्त छद्म कोड को असेंबली में कैसे कार्यान्वित करते हैं?
मैं एक छोटे सी समारोह को कोडित करता हूं, और जेनरेट असेंबली (उदाहरण के लिए 'gcc -O -fverbose-asm -S tiny.c') –
के साथ आपका प्रश्न http://stackoverflow.com/questions के समान है/8021772/असेंबली-भाषा-कैसे-टू-डू-मॉडुलो/8022107 यदि आपको विशिष्ट समस्याएं हैं (संभवतः आप rdx के ऊपरी ऊपरी भाग को साफ़ नहीं कर रहे हैं: रैक्स, edx: eax या dx: कुल्हाड़ी)। – user786653
कोड देखने के बिना अनुमान लगाना मुश्किल है, लेकिन एक आम पर्ची-अप idiv से पहले शून्य edx को भूल रहा है। –