`Dword ptr` का क्या अर्थ है?


123

क्या कोई समझा सकता है कि इसका क्या मतलब है? (इंटेल सिंटेक्स, x86, विंडोज)

and     dword ptr [ebp-4], 0

जवाबों:


119

dword ptrभाग एक आकार के निर्देश कहा जाता है। यह पृष्ठ उन्हें समझाता है, लेकिन सही अनुभाग के लिए प्रत्यक्ष-लिंक करना संभव नहीं था।

मूल रूप से, इसका मतलब है "लक्ष्य ऑपरेंड का आकार 32 बिट्स है", इसलिए यह बिटवाइज-और पते पर 32-बिट मूल्य ebpरजिस्टर की सामग्री को ले जाकर और 0 के साथ चार घटाकर होगा।


72
"Dword" में "d" का अर्थ "डबल" है। एक शब्द 16 बिट्स का है।
जेरेमीप

अधिक संदर्भ के लिए इस लिंक पर
एलेक्स मैथ्यू

25
PTRभाग की आवश्यकता क्यों है ? आकार को सांकेतिक शब्दों में बदलना करने के लिए पर्याप्त नहीं है? NASM ptrAFAIK का उपयोग नहीं करता है ।
सिरो सेंटिल्ली 郝海东 冠状 iro i 法轮功 '

1
@JeremyP वर्ड का मतलब प्रोसेसर के हिसाब से बदल रहा है। इस लेख को पढ़ने के बाद आप कह सकते हैं कि शब्द 16 बिट्स है या आप केवल शब्द के सरल अर्थ को परिभाषित कर रहे हैं जिसका अर्थ है दो बाइट्स? Modern processors, including embedded systems, usually have a word size of 8, 16, 24, 32, or 64 bits, while modern general purpose computers usually use 32 or 64 bits. en.wikipedia.org/wiki/Word_(computer_altecture)
uzay95

6
@ uzay95 इस सवाल का टैग "x86" है, इसलिए हम विशेष रूप से Intel x86 आर्किटेक्चर के बारे में बात कर रहे हैं , जिसमें एक शब्द 16 बिट्स चौड़ा है। आपके लेख के अनुसार, यहां तक ​​कि x86_64 में 16 बिट्स का शब्द आकार भी है।
जेरेमीपीपी

7

इस अन्य प्रश्न में संलग्न आंकड़े पर विचार करें । ebp-4आपका पहला स्थानीय वैरिएबल है और, एक डॉर्ड पॉइंटर के रूप में देखा जाता है, यह एक 32 बिट पूर्णांक का पता है जिसे साफ़ करना होगा। हो सकता है कि आपका स्रोत शुरू हो

Object x = null;

3

यह 32 वाँ घोषणा है। यदि आप असेंबली के शीर्ष पर टाइप करते हैं तो स्टेटमेंट [बिट्स 32], तो आपको DWORD PTR टाइप करने की आवश्यकता नहीं है। उदाहरण के लिए:

[bits 32]
.
.
and  [ebp-4], 0
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.