Ret процедурадан оралу командасы
Процедура нақты ішкі есептерді шешу үшін арналған командалар тобы болып табылады. Қарапайым жағдайда программа бір процедурадан тұрады. Процедураны бір рет суреттеліп, ќажетінше программаныњ кез келген жерінде шаќырылуы м‰мкін рєсімделген командалар жиыны ретінде аныќтауѓа болады. Процедураны шаќыру call командасымен жасалады:
Call <процедура аты>
Процедураны шаќырѓан кезде оралу н‰ктесініњ адресі стекте саќталады. Процедурадан оралу ret (немесе retf) командасыныњ кµмегімен жасалады.
Процедуралар т‰ріндегі командаларды суреттеу ‰шін екі директива ќолданылады:proc жєне endp.
Процедураныњ таќырыбында (PROC директивасында) процедураныњ атын беру міндетті болып табылады. PROC директивасыныњ операндтары ішінде [ара ќашыќтыќ] атрибутын ерекшелеу ќажет. Б±л атрибут near немесе far мєндерін ќабылдай алады жєне процедураѓа кодтыњ басќа сегментінен ќаратпа жасау м‰мкіндігін сипаттайды. ‡нсіздік бойынша [ара ќашыќтыќ] атрибуты near мєнін ќабылдайды.
Call командасыныњ таѓайындалуы: стекте оралу н‰ктесініњ адресін саќтаумен басќаруды жаќын немесе алыс процедураѓа беру; есептерді ќосу.
Ret командасын қарастырайық:
RET / RETF
(RETurn / RETurn Far from procedure) – Процедурадан жаќын (алыс) оралу
RET командасының с±лбасы:
Ret сан
Таѓайындалуы: басќаруды процедурадан шаќыратын программаѓа ќайтару.
Ret командасыныњ орындалуы жалауларѓа єсер етпейді. Ret командасы процедурадан шаќырушы программаѓа басќаруды ќайтару ‰шін ќолданылады. Микропроцессорда ret оралу командасыныњ 3 н±сќасы бар –б±л ret, оның синонимі retn, сонымен қатар retf командасы. Олар ќолданылатын процедуралардыњ типтерімен ерекшеленеді. ret және retn командалары жаќын типті процедуралардан оралу ‰шін қолданылады. retf командасы – алыс типті процедуралар ‰шін оралу командасы. Нақты қандай команда қолданылатындыѓы компилятормен анықталады: программалаушыѓа ret командасын пайдаланѓан және оныњ жаќын немесе алыс н±сќасын генерациялауды трансляторѓа тапсырѓан жөн. Процедурада ret командасының саны одан шығу н‰ктесініњ санына сәйкес келу керек.
Сұрақ.
Енгізу – шығару жүйесі, демек сыртқы құрылғылармен ақпарат алмасу ќ±ралдарыныњ кешені келесілерден т±рады:
- єр - түрлі құрал – жабдықтыњ жүйелік шинаға қосылу әдістері;
- осы құрал – жабдықпен процессордыњ єрекеттесу процедуралары;
- сыртқы құрылғылармен мәліметтер алмасу үшін арналған процессор командалары.
Микропроцессорлардыњ ‰здіксіз жетілдірілуі және б‰кіл есептеу жүйесінің өнімділігін барынша жоғарылату талабы компьютерлердің ішкі ±йымдастыруын айтарлыќтай µзгертуге, шиналардыњ разрядтылыѓын арттыруѓа, тез ж±мыс істейтін ішкі мєлімет алмасу магистральдарыныњ пайда болуына, жады мен дисктер жєне программалармен алмасуды тездететін кэш-буферлерді ќолдануѓа єкелді.
Егер µнімділік т±рѓысынан мањызды детальдарды ескермесек, ќазіргі кездегі компьютердіњ логикалыќ с±лбасын єдеттегі т‰рде микропроцессор жєне компьютердіњ барлыќ ќ±ралдары ќосылатын ж‰йелік шина (магистральдар) т‰рінде беруге болады (8 сурет).
8 сурет – Компьютердің құрылғыларын жүйелік шинаға қосу
Ж‰йелік шина, компьютердіњ барлыќ ќ±рылѓылары бір ‰лгіде ќосылатын линиялар-µткізгіштер жиынтыѓы болып табылады. Кењірек т‰рде ж‰йелік шина т‰сінігіне шинаныњ линияларында єрекет ететін сигналдардыњ электрлік жєне логикалыќ сипаттамаларын, олардыњ таѓайындалуын, жєне де шинада єрт‰рлі операциялар орындалѓан кезде осы сигналдардыњ єрекеттесу ережелерін ќосу ќажет. Шина бойынша таралатын сигналдарѓа, оѓан ќосылѓан барлыќ ќ±ралдардыњ р±ќсаты бар, жєне єрбір ќ±рылѓыныњ маќсатына оѓан арналѓан сигналдарды тањдау мен оларѓа реакцияны ќамтамасыз ету кіреді.
Процессор жүйелік шинамен көптеген сызықтармен байланысқан, олардың ішінде (енгізу – шығару жүйесінде):
А – адрестер сызыќтарыныњ жиыны;
D – мәліметтер сызыќтарыныњ жиыны;
M / IO’ (M – «терістеумен IO») – басќару сигналдарыныњ бірі.
Процессор жадыдаѓы адреске мєліметті жазу ‰шін адрестер линиясына ќажетті адресті, ал мєліметтер линиясына мєліметті ќояды. Жадыны басќару ќ±рылѓысы т‰скен адресті аныќтайды, егер б±л адрес жадыѓа тиісті болса мєліметтер линияларынан т‰скен мєліметті алып жадыныњ сєйкес ±яшыѓына салады. Б±л процедура процессормен келесі типті команданыњ орындалуын бейнелейді
mov mem, ax
м±ндаѓы mem- жады ±яшыѓыныњ символикалыќ белгіленуі.
Егер процессор
mov ax, mem
типті команданы орындап, мєліметті жадыдан оќуы ќажет болса, ол адрестер линиясына ќажетті адресті ќойып, мєліметтердіњ т‰суін к‰теді. Жадыны басќару ќ±рылѓысы т‰скен адресті ашып, жадыда ќажетті ±яшыќты іздейді, одан мєліметті оќып мєліметтер линиясына ќояды. Процессор мєліметті шинадан алып оны командада кµрсетілген операндќа жібереді (б±л жаѓдайда ах регистрі).
Сұрақ.
Файлды іздеу функциялары
DOS 7.0 (Windows 95) жєне одан жоѓарыда ұзын атты файлдармен жұмыс істеу үшін DOS 71h функциясы ретінде шақырылатын функциялар қолданылады:
LFN6Сh – ұзын атты файлдарды ќ±ру немесе ашу.
LFN41h – ұзын атты файлды жою.
LFN4Eh – бірінші ұзын атты файлды іздеу.
LFN4Fh – келесі файлды іздеу.
LFNА1h – файлды іздеуді аяқтау.
LFN39h – ұзын атты директорий құру.
LFN3Ah - ұзын атты директорийді жою.
LFN47h – ұзын атты директорийді анықтау
10-билет.1-сұрақ.
Нақты режімде үзуді өңдеу
Үзу – ‰зілген программаны ќайтадан орындаумен басќа программаныњ орындалуына микропроцессорды уаќытша ќосатын процесс.
Үзу жүйелерінің ќ±рылымдары(аппараттық архитектураға байланысты) әр түрлі болуы мүмкін, бірақ олардыњ бір ерекшелігі бар – ‰зу процессормен командалардыњ орындалу ретін өзгертеді.
Үзу механизмінің негізгі функциялары:
1. Үзуді тану мен классификациялау;
2. Басқаруды сєйкес үзуді өңдеушіге жіберу;
3. Үзілген программаға қайта оралу.
4. Ішкі үзулер микропроцессорда есептеу процесі кезінде екі себептен пайда болады:
5. 1. Ерекше жағдай - программалардың кейбір командаларын өңдеу кезінде пайда болатын микропроцессордың ќалыпты емес ішкі жағдайы.
6. Ерекше жағдайлар келесі кездерде болуы м‰мкін:
7. - адрестеудің бұзылуы;
8. -операцияның кодыныњ өрісінде іске ќосылмаѓан екілік комбинацияныњ болуы;
9. - нөлге бөлген кезде;
10. - реттіњ толуы немесе жоғалуы;
11. - жұптылық қателері, баќылау ќ±ралдарымен аппаратураныњ єрт‰рлі ќ±рылѓыларымен ж±мыс кезіндегі ќателер табылѓан кезде.
12. 2.Int xx машиналық командасын өңдеу.
13. Бұл үзілу түрі программалық деп аталады. Б±л жоспарланатын ‰зу, µйткені олардыњ кµмегімен программалаушы µзіне ќажетті уаќытта µзініњ с±раныстарымен немесе операциялыќ ж‰йеге, немесе BIOS-қа, немесе ‰зулерді µњдеудіњ µздік программаларына ќаратпа жасайды.
Үзулер жүйесі – ‰зу механизмін іске асыратын программалыќ жєне аппараттық құралдардыњ жиыны.
Сұрақ.