x86 निर्देश सेट (16, 32 या 64 बिट, सभी प्रकार/मोड) गारंटी/आवश्यकता है कि निर्देश अधिकतम 15 बाइट्स हैं। इससे परे कुछ भी "अमान्य ऑपोड" देगा। आप अनावश्यक उपसर्गों का उपयोग किए बिना इसे प्राप्त नहीं कर सकते हैं (उदाहरण के लिए एकाधिक 0x66 या 0x67 उपसर्ग, उदाहरण के लिए)। इसलिए यदि आप एक से अधिक 31 बिट्स आगे कूद करना चाहता था/पिछड़े - (movabs $12345678ABCDEF00, %reg
: टी वाक्य रचना & पर, mov reg, 12345678ABCDEF00h
इंटेल सिंटेक्स)
केवल अनुदेश है कि वास्तव में एक डेटा आइटम के रूप में 64-बिट लेता है रजिस्टर करने के लिए लोड स्थिर है , यह एक रजिस्टर में लक्षित स्थान का एक कदम होगा, और फिर रजिस्टर/कॉल पर कूदें। 32-बिट तत्काल और विस्थापन का उपयोग करना (सापेक्ष कूद और संबोधित मोड में) 64-बिट मोड में कई निर्देशों पर चार बाइट बचाता है।
स्रोत
2013-02-05 01:07:05
(http://en.wikipedia.org/wiki/Instruction_set) –
नोट [86 पर सबसे लंबे समय तक संभव अनुदेश 15 बाइट्स] कि, यह संभव है, जबकि एक ही निर्देश का निर्माण करें जो 15 बाइट्स (उपसर्गों का एक समूह उपयोग करके) से अधिक होना चाहिए, x86 निर्देश डिकोडर फ्रंटएंड इस पर चकित होगा। 15 बाइट एक कठिन सीमा है। – duskwuff