मैं विधानसभा के लिए नया हूँ और मैं लिनक्स 0.01 बूटलोडर कोड को समझने के लिए कोशिश कर रहा हूँ, लेकिन मैं इस हिस्से पर अटक गया (बहुत शुरुआत में :)):दोहरा mov अनुदेश 86
.globl begtext, begdata, begbss, endtext, enddata, endbss
.text
begtext:
.data
begdata:
.bss
begbss:
.text
BOOTSEG = 0x07c0
INITSEG = 0x9000
SYSSEG = 0x1000 | system loaded at 0x10000 (65536).
ENDSEG = SYSSEG + SYSSIZE
entry start
start:
mov ax,#BOOTSEG
mov ds,ax
mov ax,#INITSEG
mov es,ax
mov cx,#256
sub si,si
sub di,di
rep
movw
jmpi go,INITSEG
इस कोड (में बताई गई विधि स्रोत टिप्पणियां प्रतियां) नए स्थान पर बूटलोडर और से निष्पादन जारी है पर जाएं। प्रतिनिधिmovs के बाद इस (कॉपी करने हिस्सा) करना चाहिए, लेकिन इसके बजाय अनुदेश mov {w} प्रयोग किया जाता है।
rep
movw
x86 के लिए हर संदर्भ पुस्तक में मैं प्रतिनिधि देखा स्ट्रिंग निर्देश के साथ प्रयोग किया जाता है।
प्रतिनिधि सभी डेटा स्थानांतरण निर्देशों या केवल स्ट्रिंग वाले लोगों के साथ उपयोग किया जा सकता है, और यदि ऐसा है तो संदर्भ मैनुअल में इसका उल्लेख क्यों नहीं किया गया है?
तो, _rep movw_ को इकट्ठा करने के दौरान _rep movws_ opcode में अनुवाद किया जाएगा? –
'प्रतिनिधि movsw'। हालांकि, फिर, यह वास्तव में एक विचित्र नोटेशन है (आपके मूल प्रश्न में से एक)। क्या आप जानते हैं कि किस असेंबलर के लिए लिखा गया है? –