LOADALL
લોડાલ એ ઇન્ટેલ 80286 અને ઇન્ટેલ 80386 પ્રોસેસરોની બે અલગ-અલગ, બિનદસ્તાવેજીકૃત મશીન સૂચનાઓનું સામાન્ય નામ છે, જે આંતરિક પ્રોસેસર સ્થિતિના એવા વિસ્તારો સુધી પહોંચવાની મંજૂરી આપે છે જે સામાન્ય રીતે આઇએ-32 એપીઆઈ અવકાશની બહાર હોય છે, જેમ કે ડિસ્ક્રીપ્ટર કેશ રજિસ્ટર. 286 પ્રોસેસરો માટે લોડ 0Fh 05h એન્કોડેડ છે, જ્યારે 386 પ્રોસેસરો માટે લોડ 0Fh 07h છે. બંને પ્રકારો-નામ સૂચવે છે તેમ-એક જ કામગીરીમાં તમામ CPU આંતરિક રજિસ્ટરને લોડ કરે છે. લોડાલ પાસે સેગમેન્ટ રજિસ્ટર (સિલેક્ટર) ના દૃશ્યમાન ભાગને તેમના અનુરૂપ કેશ કરેલા ભાગથી સ્વતંત્ર રીતે સેટ કરવાની અનન્ય ક્ષમતા હતી, જે પ્રોગ્રામરને સીપીયુને તે સ્થિતિમાં લાવવાની મંજૂરી આપે છે જે સત્તાવાર પ્રોગ્રામિંગ મોડેલ દ્વારા અન્યથા મંજૂરી નથી. ઉપયોગ આ તકનીકોની ઉપયોગિતાના ઉદાહરણ તરીકે, લોડાલ વાસ્તવિક સ્થિતિમાંથી તમામ મેમરીની ઍક્સેસને મંજૂરી આપવા માટે CPUને સેટ કરી શકે છે, તેને અવાસ્તવિક સ્થિતિમાં ફેરવ્યા વિના (જેને સંરક્ષિત સ્થિતિમાં ફેરવવાની, મેમરીને ઍક્સેસ કરવાની અને અંતે વાસ્તવિક સ્થિતિ પર પાછા ફરવાની જરૂર પડે છે). RAMDRIVE.SYS (1985), SMARTDRV.SYS (1986) ની પૂર્વ-XMS આવૃત્તિઓ તેમજ MS-DOS માં HIMEM.SYS (2.03, <ID4; 2.04,1988-08-17) ડ્રાઇવરો, લોટસ માટે યુનિફોર્મ સોફ્ટવેર સિસ્ટમ્સ 'ધ એક્સટેન્ડર (1985) અને ધ કનેક્ટર (1985), એબવ ડિસ્ક (1986) (એબવ સોફ્ટવેર દ્વારા LIMulator (અગાઉ ટેલિ-વેર વેસ્ટ ઉર્ફે લોસ એન્જલસ સિક્યોરિટીઝ ગ્રુપ) કે જેણે હાર્ડ ડિસ્ક જગ્યા અથવા વિસ્તૃત મેમરીને વિસ્તૃત મેમરીમાં રૂપાંતરિત કરી હતી), અને OS/2 1.0 અને 1.1 એ 286 LOADALL સૂચનાનો ઉપયોગ કર્યો હતો. DOS 3.3 અને 4.0 એ 0070:0100 h પર 102-બાઈટ બફર અનામત રાખ્યું હતું (જે સામાન્ય રીતે DOS BIOS ડેટા દ્વારા કબજે કરવામાં આવતું હતું) જેથી તેને લોડાલ માટે સાચવવાની અને પુનઃસ્થાપિત કરવાની જરૂર ન પડે. માઇક્રોસોફ્ટના અમાન્ય ઓપકોડ હેન્ડલરમાં 286 અને 386 લોડાલ સૂચનાઓ બંનેના EMM386.EXE વિશેષ-કિસ્સાઓ છે. વિન્ડોઝ/386 2.10 માં વર્ચ્યુઅલ-મશીન મોનિટર કોડની તપાસ દર્શાવે છે કે તે 286 અને તેનાથી પણ ઓછા જાણીતા 386 બંને પ્રકારનો ઉપયોગ કરે છે. માઇક્રોસોફ્ટની HIMEM.SYS આવૃત્તિ 2.06 એ પણ 286 સિસ્ટમો પર વિસ્તૃત મેમરીમાં અને તેમાંથી ઝડપથી નકલ કરવા માટે લોડઅલનો ઉપયોગ કર્યો હતો. લોડાલનો બીજો રસપ્રદ ઉપયોગ, ધ ડિઝાઇન ઓફ ઓએસ/2 પુસ્તકમાં દર્શાવવામાં આવ્યો છે, જે 1985થી ડિજિટલ રિસર્ચના સમવર્તી ડી. ઓ. એસ. 286 તેમજ 1986થી ફ્લેક્સઓએસ 286 અને આઇ. બી. એમ. 4680 ઓએસ દ્વારા ઉપયોગમાં લેવાતા 16-બીટ સંરક્ષિત મોડમાં ભૂતપૂર્વ રીઅલ-મોડ પ્રોગ્રામ્સને ચલાવવાની મંજૂરી આપે છે. જી. ડી. ટી. અને એલ. ડી. ટી. માં તમામ ડિસ્ક્રિપ્ટર કેશને "હાજર નથી" તરીકે ચિહ્નિત કરવાથી ઓપરેટિંગ સિસ્ટમ સેગમેન્ટ-રજિસ્ટર રીલોડને ફસાવશે, તેમજ વાસ્તવિક-મોડ-વિશિષ્ટ "સેગમેન્ટ અંકગણિત" કરવાના પ્રયાસો કરશે અને સેગમેન્ટ ડિસ્ક્રિપ્ટરને અપડેટ કરીને ઇચ્છિત વર્તનનું અનુકરણ કરશે (ફરીથી લોડ). જોકે, 80286 માટે આ "8086 અનુકરણ સ્થિતિ" વ્યવહારુ હોવા માટે ખૂબ ધીમી હતી. વધુમાં, ઇ-2ના પગથિયાં પહેલાં કેટલાક પ્રારંભિક ઇન્ટેલ 80286 પ્રોસેસરોમાં ભૂલને કારણે આ વિચારને મોટાભાગે નકારી કાઢવો પડ્યો હતો. પરિણામે, OS/2 1. x-અને વિન્ડોઝ પણ "સ્ટાન્ડર્ડ" મોડમાં-DOS પ્રોગ્રામ્સ વાસ્તવિક મોડમાં ચલાવવા પડ્યા. તેમ છતાં, વિચાર ખોવાઈ ગયો ન હતો; તે ઇન્ટેલને 80386 ના વર્ચ્યુઅલ 8086 મોડને રજૂ કરવા તરફ દોરી ગયો, જે આખરે પ્રમાણમાં કાર્યક્ષમ અને દસ્તાવેજી રીતે "DOS બોક્સ" ના અમલીકરણને મંજૂરી આપે છે. કારણ કે લોડલે પ્રોસેસર રજિસ્ટરમાં લોડ કરેલા ડેટાની માન્યતા પર કોઈ તપાસ કરી ન હતી, તેથી પ્રોસેસર સ્થિતિને લોડ કરવી શક્ય હતી જે સામાન્ય રીતે દાખલ કરી શકાતી ન હતી, જેમ કે 386-વર્ગના સીપીયુ પર પેજિંગ (પીજી = 1) સાથે વાસ્તવિક સ્થિતિ (પીઇ = 0) નો ઉપયોગ કરવો. ઇન-સર્કિટ એમુલેટર (ICE) એ નિમ્ન-સ્તરના ડિબગીંગ માટે વપરાતું સાધન છે. ઇન્ટેલ 80386 પર, B6 સ્થાન પર બિનદસ્તાવેજીકૃત પિનનો દાવો કરવાથી માઇક્રોપ્રોસેસર અમલ અટકાવે છે અને ICE મોડમાં પ્રવેશ કરે છે. માઇક્રોપ્રોસેસર તેની સમગ્ર સ્થિતિને સામાન્ય સિસ્ટમ મેમરીથી અલગ મેમરીના વિસ્તારમાં સાચવે છે. આ વિસ્તારનું લેઆઉટ લોડેલ સૂચના માટે યોગ્ય છે, અને આ સૂચનાનો ઉપયોગ ICE કોડ દ્વારા સામાન્ય અમલ પર પાછા ફરવા માટે થાય છે. પછીના પ્રોસેસરોમાં, આ સિસ્ટમ મેનેજમેન્ટ મોડ (એસ. એમ. એમ.) માં વિકસિત થયું. એસએમએમમાં, આરએસએમ સૂચનાનો ઉપયોગ મેમરી વિસ્તારમાંથી સંપૂર્ણ સીપીયુ સ્થિતિને લોડ કરવા માટે થાય છે. આ મેમરી વિસ્તારનું લેઆઉટ લોડેલ સૂચના દ્વારા ઉપયોગમાં લેવાતા જેવું જ છે. 386-શૈલીની લોડેલ સૂચના 486 પર પણ ચલાવી શકાય છે, પરંતુ માત્ર એસએમએમ મોડમાં. પછીના પ્રોસેસરોમાં, એક અલગ એન્કોડિંગ સાથે આરએસએમ સૂચનાએ તેની ભૂમિકા ભજવી. માઈક્રોસોફ્ટની કોડવ્યૂ 3 અને બોરલેન્ડની ટર્બો ડીબગર 2 એ 286 અને 386 લોડ સૂચનાઓને યોગ્ય રીતે ડીકોડ કરી છે. બે લોડાલ સૂચનાઓ ક્યારેય દસ્તાવેજીકરણ કરવામાં આવી ન હતી અને પછીના પ્રોસેસરો પર અસ્તિત્વમાં ન હોવાથી, ઓપકોડ્સનો AMD64 આર્કિટેક્ચરમાં ફરીથી ઉપયોગ કરવામાં આવ્યો હતો. 286 LOADALL સૂચના માટેનો ઓપકોડ, 0F05, AMD64 સૂચના SYSCALL બની ગયો; 386 LOADALL સૂચના, 0F07, SYSRET સૂચના બની ગઈ. આ વ્યાખ્યાઓ AMD64ના ઇન્ટેલ 64 અમલીકરણની રજૂઆત સાથે ઇન્ટેલ CPU પર પણ લાગુ કરવામાં આવી હતી. 80286 ઓપકોડ 0F05. સૂચના 0x 00800-0 x00866 સરનામાંઓમાંથી માહિતી વાંચે છે, સેગમેન્ટની સામગ્રી ગમે તે હોય. 80286 LOADALL સૂચનાનો ઉપયોગ સંરક્ષિત સ્થિતિમાંથી વાસ્તવિક સ્થિતિમાં પાછા જવા માટે કરી શકાતો નથી (તે MSWમાં PE બીટને સાફ કરી શકતું નથી). જો કે, LOADALL સૂચનાનો ઉપયોગ સંપૂર્ણપણે સંરક્ષિત સ્થિતિ પર સ્વિચ કરવાની જરૂરિયાતને ટાળી શકે છે. 80386 ઓપકોડ 0F07. સૂચના ઇ. એસ.: ઇ. ડી. આઈ. ના સરનામા પરથી માહિતીને લોડ કરે છે. તે વાસ્તવમાં ઇ. એસ. નો ઉપયોગ કરે છે, ઇ. એસ. ડિસ્ક્રીપ્ટરનો નહીં. સમવર્તી DOS 286 FlexOS 286 IBM 4680 OS સંદર્ભો પણ જુઓ વધુ વાંચન (XXVI + 738 + IV પૃષ્ઠો, 3.5 "-ફ્લોપી) ભૂલઃ X86 સૂચનો