2012-09-01 31 views
5

मुझे पिछले कंप्यूटर से सूचना विज्ञान पर मेरे कंप्यूटर आर्किटेक्चर परीक्षा पर यह प्रश्न मिला है: "एमएएसएम में डीवी ईडीएक्स" हमेशा प्रोसेसर अपवाद उत्पन्न करता है? "
अपवाद उत्पन्न करने वाली तंत्र क्या है?एमएएसएम में "डीवी ईडीएक्स" हमेशा प्रोसेसर अपवाद उत्पन्न करता है क्यों?

+3

इसका एमएएसएम, बीटीडब्ल्यू के साथ कुछ लेना देना नहीं है। और तंत्र सीपीयू है। –

उत्तर

12

जब आप x86 CPUs पर 1-ऑपरेंड डिवीजन करते हैं, तो EDX: EAX (64 बिट) को पहले ऑपरेंड (32 बिट) द्वारा विभाजित किया जाता है। परिणाम ईएक्स (32 बिट) में संग्रहीत है।

तो जब आप ईडीएक्स द्वारा विभाजित करते हैं: ईडीएक्स द्वारा ईएक्स, जो आपको अनिवार्य रूप से मिलता है वह है (ईडीएक्स * 0x100000000 + ईएक्स)/ईडीएक्स, जो परिणाम हमेशा 0x100000000 से ऊपर होता है और लक्ष्य रजिस्टर में फिट नहीं होता है या विभाजक शून्य होता है। दोनों मामलों में एक विभाजन अपवाद होता है।

this page (इंटेल डेवलपर मैनुअल से) भी देखें।

ध्यान दें कि यह असेंबलर (एमएएसएम) के लिए विशिष्ट नहीं है, लेकिन इस मामले में मंच पर है।