ret
एक प्रक्रिया से वापस आने के लिए निर्देश है। तो मूल रूप से यह स्टैक से ईआईपी रजिस्टर में वापसी का पता चलाता है।
l
उपसर्ग यह कहने के लिए यहां है कि यह दूर प्रक्रिया से वापस आ गया है। इस मामले में, निर्देश पहले ईआईपी रजिस्टर में स्टैक से एक मूल्य पॉप करता है और फिर सीएस रजिस्टर में दूसरा मूल्य पॉप करता है।
w
प्रत्यय यहां है क्योंकि इस चरण में हम वास्तविक मोड में चल रहे हैं, और ऑपरेंड 16 बिट चौड़े हैं।
सटीक कोड है:
pushw %ds
pushw $6f
lretw
6:
6:
यहाँ बहुत महत्वपूर्ण है। तो यह क्या करता है: डीएस के मूल्य को ढेर में दबाएं, 6
लेबल के एड्रेस को स्टैक में दबाएं, और उसके बाद यह lretw
निर्देश ट्रिगर करें। तो मूल रूप से, यह निर्देश सूचक सूचक में 6
लेबल का पता लोड करेगा, और cs
ds
रजिस्टर के मान के साथ पंजीकृत करें। तो cs
रजिस्टर मूल्य के परिवर्तन के साथ लेबल 6
पर निष्पादन जारी रखने के लिए यह एक चाल है।
आपको http://www.intel.com/design/intarch/manuals/243191.htm डाउनलोड करना चाहिए जो छद्म कोड सहित सभी निर्देशों के लिए सटीक विवरण देता है जो बताता है कि प्रत्येक निर्देश क्या कर रहा है।
स्रोत
2011-09-08 07:43:11
http://disi.unitn.it/~abeni/SO2/LinuxKernel/boot.html? – istepura