दूसरे शब्दों में, क्या कोई मामला है जिसके लिए मुझे इस निर्देश की आवश्यकता हो सकती है?क्यों आरईपी लोड AL निर्देश मौजूद है?
इंटेल निर्देश मैनुअल से, यह है कि क्या अनुदेश करना है:
लोड (ई) डी एस से CX बाइट्स: अल करने के लिए [(ई) एसआई]।
एनएएसएम में निम्न उदाहरण लें: अनुदेश rep lodsb
निष्पादित हो रहा है
section .data
src: db 0, 1, 2, 3
section .code
mov esi, src
mov ecx, 4
rep lodsb ; mov al, byte[esi + ecx -1]; ecx++
करते हुए मैं al
में लोड मूल्य से अधिक किसी भी नियंत्रण नहीं है। मैं बस इतना कर सकता हूं, जब तक निर्देश al
का अंतिम मान प्राप्त करने के लिए समाप्त नहीं हो जाता है, जो निश्चित रूप से मैं लूप के बिना सीधे प्राप्त कर सकता हूं।
वही सवाल परिवार के बाकी हिस्सों के लिए जाता है: REP LODS AX
, REP LODS EAX
और REP LODS RAX
।
मेरे प्राचीन माइक्रोसॉफ्ट MASM "प्रोग्रामर गाइड" का कहना है कि 'LODS' निर्देश जो पुनरावृत्ति उपसर्ग नहीं ले करता है की है कि परिवार में केवल एक ही है। –
यह अस्तित्व में है क्योंकि यह अस्तित्व में रहने के लिए बहुत महंगा था। आप केवल 20000 ट्रांजिस्टर से 16-बिट प्रोसेसर बनाने के लिए niceties बर्दाश्त नहीं कर सकते हैं। –
@ वेदरवेन, मुझे लगता है कि यह हमारे लिए तय करने के लिए एमएएसएम तक नहीं है, एलओएल –