Контрольная работа по "Информатике". 47
Дәрістер тезистері
1-Дәріс. Микропроцессорларға кіріспе. Программалау аспаптарының дамуы. Микропроцессорлар эпохасы.
Микропроцессорларға кіріспе
Машиналық командаларды орындайтын және басқа да құрылғылардың қызметін координациялайтын процессорлық құрылғыларды, әдетте командалар жүйесінің процессоры (Instruction Set Processor, ISP) немесе жәй процессор деп атайды. Біз процессордың ішкі құрылымын талдаймыз және ол таңдауды, дешифрацияны орындауды және программа командаларын өңдеуді қалай орындайтындығына тоқталамыз. Компьютердің процессорлық құрылғысын әдетте орталық процессор деп атайды (Central Processing Unit, CPU). «Орталық» термині бұрын қолданылған компбютерлерге байланысты айтылған, өйткені ол кездегі компьютерлерде бір ғана команда процессоры қолданылған, ал қазіргі компьютерлік жүйелерде бірнеше процессорлар қолданылады, демек ол термин ескірген деп айтуымызға да болады.
Процессорлардың ішкі ұйымдастырылуы үнемі дамып отырады, ол технологиялардың дамуына және оның нарықтағы орнына байланысты. Жоғары сапалы процессорларды құрудың жалпы стратегиясы неғұрлық көп түрлі функциональдық құрылғылардың паралельді жұмыс істеуін қамтамасыздандыру болып табылады. Жекелегенде, мұндай процессорлар конвейерлік түрде ұйымдастырылады, яғыни келесі орындалатын команда алдыңғы команданың жұмысы аяқталмайақ басталатындығын көрсетеді. Басқаша айтатын болсақ, суперскалярлы функционалданады, демек жадыда бір уақытта бірнеше командалар таңдалады және бірге орындалады.
Қарапайым компьютерлік есептер бірнеше қадаммен орындалады, ол программаның машиналық командаларының тізбегімен анықталады. Әрбір команда процессормен элементар машиналық операцияларға бөлінеді. Келесі лекцияларда біз, ассемблер тілінің деңгейінде программалаудың базалық концепциялары қалай таратылатындығын және машиналық командалар мен адресация режимдері не үшін қолданылатындығын қарастырамыз. 3 тақырыпта көрсетілген концепциялар үш процессор командаларының жүйесінің архитектурасында мысалмен қаралған — ARM, Motorola 68000 және Intel IA-32. Берілген этапта біз осы жүйелерді қарастырамыз, бірақ енді әртүрлі процессорлар негізіндегі функцияларды қараймыз. ARM түріндегі процессорлардың архитектурасы RISC түрінде, ал Motorola және Intel түріндегі процессорлар — CISC архитектурасы түрінде болады. Сонымен қатар бұл тақырыпта PowerPC архитектурасы да сипатталған, ол Intel IA-32, Sun SPARC, Compaq Alpha және Intel IA-64 таласа алатын RISC типіне жатады. Төменде қаралған 64-разрядты процессорлар бірінші кезекте жоғарғы өнімді жұмыс станцияларында немесе серверлерді қолдану үшін керек. Сонымен, біз процессор командалар жүйесін ұйымдастырудың ерекше әдісімен танысамыз, ондағы операндтарды сақтау үшін стектік деректер құрылымын қолдану қарастырылады. Мұндай әдістер Hewlett-Packard HP3000 процессорларында қолданылады және тарихи түрде қызықты, ал практика жүзінде керек емес.
Тарихи шолу
Қазіргі деңгей үшін есептеу техникасының даму этаптарына шолу жасап көрейік, олар негізінен Intel 80x86'/Pentium микропроцессорлар тобында берілген.
1989 жылы Intel корпорациясы iS0486 микропроцессорларын шығарды, онда бір микросхемаға i80386 процессоры, J80387 арифметикалық сопроцессор және 8 Кбайт өлшемдегі ішкі кэш-жады бірге қосылып жасалды. Орталық процессор (Central Processor Unit — CPU) құрылымына өзгертулер енгізілді, олар көптеген жартысынан көбіне инструкцияларды екі тактіде емес, бір ғана тактімен орындауына мүмкіндіктер берді. Нәтижесінде 50 МГц тактілік жиілік уақытында инструкцияларды орындау 25 не құрды. i80386 процессорымен салыстырғанда 180486 процессорларының өнімділігі артты, оларда осы такттілік жиілікпен жұмыс жасады, яғни 50% артық. Одан кейін бұл 180486 микропроцессорының екі еселенген тактілік жиілігінің варианттары — i80486DX2 шығарылды. Мұндағы базалық тактілік жиілік (33 МГц) жедел жадыға қатынаған кезде қолданылады, ал екі еселенген (66 МГц) жиілік инструкцияның ішінен орындалды. i80486DX4 микропроцессорында жиілік үш еселенді: яғни жадыға қатынауға арналған базалық жиілік бұрынғысынша 33 МГц –тен тұрды, ал бірақ 100 МГц жиіліктегі инструкцияны орындай алды. (i80486DX4 микропроцессорының өнімділігі шамамен Pentium микропроцессорының өнімділігіне жақын, ол да 60 МГц жиілікте жұмыс жасай алады.) Сондай – ақ, 180486DX4 микропроцессорында кэш – жадының өлшемі де артты — оның өлшемі 16 Кбайт – қа жеткізілді. Сәйкесінше деректер шинасының тактілік жиілігі 40 МГц-ке жеткізілді және оның ішкі тактілік жиілігі 120 МГц жеткізілген құрылғы Advanced Micro Devices (AMD) фирмасымен ойлап табылды.
Сонымен қатар Intel фирмасымен басқа да i80486 процессорларының түрлері ойлап табылды, олар Overdrive-процессорлар атымен шығарылды. Overdrive процессоры — бұл екі еселенген тактіліг жиілігі бар J80486DX процессорлар, олар i80486SX процессорларын ауыстыру үшін немесе i80486DX процессорларының варианты ретінде, материндік плата жиілігінде жұмыс жасай алатын түрі ретінде шығарылды. Мысалы, 25 МГц тактілік жиілігінде жұмыс жасайтын i80486SX процессорларын Overdrive-процессорларға ауыстырған кезде, деректер шинасының жиілігі бұрынғысынша қалады, ал ішкі инструкция 50 МГц жиілігінде орындалады.
Pentium микропроцессоры
Pentium микропроцессоры, 1993
жылы шығарылды, ол JS0386/S04S6 процессорларына
ұқсас. Бірінші кездегі
Негізгі әдебиеттер: [1] – 31- 800 б, [2] – 15-600 б.
Қосымша әдебиеттер: [10] – 421б.
Бақылау сұрақтары:
1. ActiveX элементін қайда
2. Қандай қосымшаларда ActiveX элементін қолдануға болады?
3. Тесілеу қалай орындалады?
4. Қандай қасиеттер стандарттыға жатады?
5. Пайдаланушы қасиеттерінің
2-Дәріс. Микроконтроллер, микропроцессор және процессор сигнальдары дегеніміз не.
Қойылған талап, ол білгілі бір жылдамдығы тез құрылғыны тізбектей есептерді шешуге мәжбүр ету, және ол өз құрылымын уақытпен өзгертіп отыруы керек. Бұл әрине микропроцессорлар. Микропроцессорларда таратылатын құрылғының қиындығына байланысты берілген, шектен шықпай жылдамдықты ауыстыруға болады. Міне осы мүмкіншіліктердің арқасында микропроцессорлардың жылдамдығын максимальды өсіруге тырысады – бұл қиын құрылғыларды бір ғана көлемде таратуға мүмкіндік береді. Сонымен қатар! Бір ғана процессорда бір уақытта бірнеше құрылғыны да таратуға болады! Міне осы есепті шешу проблемасы осы курста оқытылады.
Қазіргі заманда микропроцессорларды қолданбайтын техника аймағын табу қиын. Олар есепетеулер жүргізу үшін де, басқару функцияларын жүргізеді, және де дыбыстар мен бейнелерді қолданған кезде де пайдаланылады. Қолдану аймағына қарай микропроцесоарларға деген талаптар да өзгере береді. Бұл микропроцессордың ішкі құрылымына байланысты. Қазіргі уақыта микропроцессорлардың дамуының анықталған үш тарамаған айтып кетуге болады:
- әмбебап микропроцессорлар
- микроконтроллерлер
- сигнальды микропроцессорлар
Әмбебап микропроцессорлар есептеу машинларын жасау үшін қоданылады. Оларда жылдамдығын өсіру үшін алдыңғы қатарлы есептеулер қолданылады, ол пайдаланылатын энергия бағасына да және оның өлшемінің үлкендігіне де қарамайды. Байланыс техникасында компьютерлер өлшемі мен бағасы үлкен жүйе байланыстарын немесе құрылға байланыстарын басқару үшін қолданылады. Мұндай компьютерлер контроллерлер деп аталады.
Өлшемі үлкен емес және байланыс құрылғыларының бағасы арзандарын пайдалану үшін біркристальды микроЭЕМ – дер қолданылады, оларды қазіргі кезде микроконтроллерлер деп атайды. Микроконтроллерлерде керісінше, максимальды көңіл негізінен оның өлшеміне, бағасына және қолданатын энергиясына бөлінеді.
Ендігі микропроцессорлар классы бұрын аналогты схематехника шешкен есептерді шешеді. Бұл сигнальды микропроцессорлар. Сигнальды процессорларға спецификалық талаптар қойылады. Олардан максимальды жылдамдық, кіші өлшемдер, аналогты – сандық және сандық – аналогтық өзгертіштердең жеңіл байланысы, өңделетін деректердің үлкен разрядтылығы және міндетті түрде аппараттық циклдарды ұйымдастыру мен көбейту – жинау операцияларынан тұратын кішірек математикалық операциялар жиыны талап етіледі.
Микроконтроллерлер. Пайдалану аймағы.
Контроллер термині ағылшынның control – басқару сөзінен шыққан. Бұл құрылғылар әртүрлі жұмыс принциптарына негізделіп механикалық немесе оптикалық құрылғылардан бастап электронды аналогтық немесе цифрлық құрылғыларға дейін пайдаланылуы мүмкін. Механикалық басқару құрылғыларының электронды басқару блоктарымен салыстырғанда сенімділігі аз және бағасы жоғары, сондықтан бұл құрылғыларды біз келешекте қарамаймыз. Электронды аналогтық құрылғылар эксплуатациялау процессі кезінде әр уақыт келтіріп (регилировкалап) отыруды талап етеді, ол олардың эксплуатация бағасын жоғарылатады. Сондықтан ондай құрылғылар қазіргі кезде мүлдем қолданылмайды. Қазіргі кезде көп кездесетін кеңінен тараған басқару схемаларының бірі ол, сандық микросхема негізінде құрылғандар.
Контроллерлерге қойылатын талаптар негізінен басқаруды керек ететін құрылғының өлшемі мен құрылғының бағасына байланысты болады. Егер басқарылу керек объект бірнеше ондаған метр площадын алып жатса, мысалы, автоматты телефон станциялары, базалық ұяшықты жүйелер станциясы немесе радиорелейлі байланыс сызықтары, онда контроллерлер орнына әмбебап компьютерлерді қолдануға болады. Ол кездегі басқарулар онда енгізілген компьютер порттары (LPT, COM, USB немесе ETHERNET) арқылы жүзеге асырылады. Мұндай компьютерлерге питание қосылған кезде автоматты түрде басқарушы программалар енгізіледі, ол программалар әмбебап компьютерді контроллерге айналдырады.
Контроллерлер тек үлкен жүйелер үшін ғана емес сонымен қатар өлшемі кіші құрылғылардада керек болады, мысалы радиоқабылдағыштар, радиостанциялар, магнитофондар немесе ұяшықты аппараттарда. Мұндай құрылғыларда контроллерлерге бағасы, өлшемі және жұмыстың температуралық диапазонына байланысты қатты талаптар қойылады. Бұл талаптарды өндірістік әмбебап компьютерлердің варианттары да қанағаттандыра алмайды. Сондықтан контроллерлерді өңдеуді біркристальды ЭЕМ түрінде қолдану қажет болады, олар өз кезегінде жаңы микроконтроллерлер деген атқа ие болды.
Негізгі әдебиеттер: [1] – 31- 800 б, [2] – 15-600 б.
Бақылау сұрақтары:
1. ActiveX элементін қайда регистрациялау қажет?
2. Қандай қосымшаларда ActiveX элементін қолдануға болады?
3. Тесілеу қалай орындалады?
4. Қандай қасиеттер стандарттыға жатады?
5. Пайдаланушы қасиеттерінің беттері қалай шақырылады?
3-Дәріс. Микропроцессор және оның архитектурасы
Микропроцессордың ішкі архитектурасы. Нақты режимдегі жады адресациясы. Қорғалған режимге кіріспе. Жадыны беттік ұйымдастыру.
Микропроцессордың ішкі архитектурасы.
Микропроцессордың архитектурасымен танысу үшін — алдын – ала жүйе командаларын үйрену және бірінші программаларды өңдей алу керек. Бұл бөлімде қаралатын заттар — 8086—Pentium 4 микропроцессорларының ішкі архитектурасының программлы-қолдану бөлімі және оның регистрларының қызметі.
Микропроцессордың программалық моделі, оны программалы – қолдануға болатын ішкі архитектуралық бөлігі. Оған негзінен, жекешелегенде, программлы – қолдануға болатын регистрлер, яғни команда операнды болып көрсетілетіндері жатады. Басқа регистрлер, тек жанама қолданылатындары, программалы – қолдануға болмайтындар қатарына жатады. Бұл регистрлер толық келесі бөлімдерде кетірілген. 80286 микропроцессордларынан бастап, программалы – қолдануға болмайтын регистрлер жадыны басқару үшін қорғалған режимде ғана қолданылады.
8086—Pentium 4 микропроцессорларының
Программалық моделге 8-, 16- және 32-биттік регистрлер кіреді. Олардың ішінде 8-биттіктерге АН, AL, ВН, BL, CH, CL, DH және DL жатады — олар осылайша инструкция операндтарының сапасын көрсеткен кезде ассемблер тілінде пайдаланылады. Мысалы —add al,aН командасы, АН регистріндегі 8 – биттік санды AL регистріндегі 8 – биттік санға қосуды орындайды (Бұл кезде AL регистрінің мәні өзгермейді). Ал 16-биттік регистрлерге АХ, ВХ, СХ, DX, SP, BP, DI, SI, IP, FLAGS, CS, DS, ES, SS, FS және GS жатады. Мысалы! Бұл регистрлерді қолданған команда: add dx.cx. Бұл команда 16-биттік СХ және DX регистрлерінде орналасқан деректерді қосуды орындайды, нәтиже DX регистріне орналастырылады (бұл кезде СХ мәні өзгермейді). Кеңейтілген 32-биттік регистрлер — ЕАХ, ЕВХ, ЕСХ, EDX, ESP, EBP, EDI, ESI, EIP және EFLAGS. Кеңейтілген регистрлер, сондай – ақ 16-биттік регистрлердегі FS және GS регистрлері 80386 микропроцессорынан бастап барлығында бірдей қолданылады, Кеңейтілген регистрлер қолданылған мысалды қарайтын болсақ : add ecx,ebx.
Регистрлер арнайы регистрлерге және жалпы міндетті регистрлерге бөлінеді, жалпы міндетті регистрлерге ЕАХ, ЕВХ, ЕСХ, EDX, EBP, EDIfl К ESI регистрлері жатады. Олар әртүрлі өлшемдегі (байт, сөз немесе екілік сөз) деректерді сақтау үшін қолданылады да, олардың қызметі міндетті түрде программа логикасымен анықталады.
2.2. суреттің оң жағындағы бес жалаушаның және аса толу жалаушасының күйлері арифметикалық және логикалық инструкцияларды орындаған кезде өзгереді. Жалаушалар өз мәнін деректерді берген кезде және басқару тізгінін ауыстыру командаларын орындаған кезде ешқашан өзгерпейді. Кейбір жалаушалар микропроцессор операцияларын қалыптастырған кезде қолданылады. Төменде жалаушалардың тізімі олардың қысқаша түсініктемелерімен бірге берілген (оларды толық жүйе командаларын өткен кезде қарастырамыз).
С (carry — ауысу)
С жалаушасы қосу операциясы кезінде асатолу болса немесе алу опреациясы кезінде қарызға алу керек болса қолданылады. Операциялық жүйенің функцияларын орындау кезінде қате түрін көрсету үшін және пайдаланушылар процедурасын орындау кезінде де жиі қолданылады (1 қосымшаны қара).
Р (parity — паритет)
Бұл жалауша 0-ге орнатылады, егер операция нәтижесі кезінде бірге орнатылған биттер саны жұп болса; әйтпесе (егер операция нәтижесі кезінде бірге орнатылған биттер саны тақ болса), Р жалаушасы 1 орнатылады. Мысалы, егер сандағы бірлер саны үшеу болса, онда паритет тақ болады да, Р = 0 орнатылады. Егер сан 0 тең болса (барлық биттер 0 орнатылған), онда паритет жұп, және Р = 1. Р жалаушасы бірінші шыққан микропроцессорларда коммуникациялық қосымшаларды қолдау үшін құрылған. Қазіргі құрылғыларда қабылдауберу бірге қосылып жасалған сондықтан паритетті бақылау және қалыптастыру онша керек емес, сондықтан Р жалаушасы сирек кезеседі.
A (auxiliary carry — аралық ауысу)
Бұл жалауша қосу орындалған кездегі үшінші биттен төртіншіге болған ауысу мәнін қадағалайды (жартылау ауысу деп те аталады), немесе азайту орындалған кездегі төртінші биттен болған қарызды қадағалайды. А жалаушасының мәні daa және das индукцияларын пайдаланған кезде екілік – ондық сандарды қосу немесе азайту орындалғаннан кейін AL мәнін коррекциялағанда қолданылады. Бұл жалаушаның мәнінің басқа инструкцияларға қатысы жоқ.
Z (zero — нөл)
Z жалаушасы 1 орнатылады, егер нәтиже 0 тең болса; 0 орнатылады, егер нәтиже нөлден басқа мән болса.
S (sign — таңба)
Бұл жалауша арифметикалық немесе логикалық операциялар орындалған кезде таңба битінің көшірмесінен тұрады. Егер S = 1, онда таңба теріс (сан нөлден кіші); егер S = 0, онда таңба оң (сан нөлге тең немесе одан үлкен).
TF (trap flag — қақпан жалаушасы)
Бұл жалауша қадамдық орындалу кезіндегі аппараттық қолдауды қамтамасыздандырады (мысалы, CodeView жөндегішінде). Егер трассировка режимі TF= 1 орнатылса, онда микропроцессор программаның орындалуын әрбір инструкция орындалған сайын үзеді.
IF (interrupt flag — үзу жалаушасы)
Бұл жалауша сырттан келетін үзуге деген сұранысты INTR (interrupt request) кірісі бойынша рұқсат етеді. Егер IF - 1 кірісті тексеру INTR рұқсат етілген; егер IF = 0, онда INTR күйі микропроцессормен бақыланбайды. IF жалаушасын 1 орнату sti (set I flag) инструкциясымен орындалады, босату — СF (clear I flag) командасымен орныдалады.
Бақылау сұрақтары:
1. Процессордың қандай регистрлері программалы – қол жеткізерлік деп аталады?
2. 8 – биттік регистрлермен бірге 80286 микролпроцессорларында қолданылатын регистрлердің өлшемі қандай?
3. Қандай микропроцессорларды кеңейтілген регистрлер кездеседі?
4. ВХ регистрінің кеңейтілген варианты қалай бейнеленеді?
5. Кейбір инструкцияларды қолданған кезде қандай регистр үнсіздікпен санағыш ретінде қолданылады?
6. IP/EIP регистрлері қандай жұмыс атқарады?
4-Дәріс. Адресациялау әдістері. Деректерді беру инструкциялары. Арифметикалық және логикалық инструкциялар.
Арифметикалық және логикалық инструкцияларға қосу, азайту, көбейту, бөлу, салыстыру, терістеу, инкремент және декремент жатады. Логикалық инструкциялар қатарына келесі операциялар да жатады "ЖӘНЕ" (and). "НЕМЕСЕ" (or), "НЕМЕСЕ ЕМЕС" (xor), терістеу (жылжулар, циклдық жылжулар, сондай - ақ логикалық салыстыру (test). 80386—Pentium 4 процессорлар жүйесінде, сонымен қатар, xadd, shrd, skj тексеру командасы және битті іздеу инструкцияларыда кездеседі. Егер сіз 8-биттік микропроцессорлармен таныс болсаңыз, онда сіз бұл 8086—Pentium 4 процессорларының командалар жүйесі өте қолайлы екендігіне көз жеткізесіз, өйткені инструкциялардың көбісі бір ғана емес екі операндпен жұмыс істеуге мүмкіндік береді.
Программалауды тиімді жүргізу кез – келген инсирукцияларда, адресациялау әдістерінсіз мүмкін емес. Бұл бөлімде біз деректерді адресациялау әдістерін mov – деректерді алып – орналастыру инструкциясын пайдаланып мысалмен көрсетеміз. Бұл инструкция екі регистрдегі немесе регистр мен жады арасындағы деректерді алып – орналастыру үшін қолданылады. 8086—80286 процессорларында mov инструкциясы байт пен сөздерді көшіру үшін де қолданылады; ал 80386—Pentium 4 процессорларында ол сондай – ақ еклік сөздерді алып – орналастыруды орындайды. call және jump командаларының мысалымен инструкцияның адресациясын қарастырамыз және программаның орындалу ретін қалай ауыстыруға болатындығын көрсетеміз.
Деректерді адресациялау әдістері, 8086—80286 процессорларында таратылған, олар: регистрлік, тура, тікелей, регистрлік жанама, база бойынша индекстік, ығысуы бар регистрлік және база бойынша индекстеумен қатар ығысуы бар. Сондай – ақ 80386— Pentium 4 процессорлары масштабталған индекстік адресацияны да пайдаланады. 8086—Pentium 4 процессорларындағы инструкциялар адресациясы үшін оларда үш түрлі инструкция адресациясы қолданылады: салыстырмалы, тікелей және жанама. Стектегі деректердің адресациясы push және pop командаларының көмегімен көрсетіледі .
Деректерді адресациялау әдістері
Деректерді адресациялау әдістері оқып үйрену кезінде негіз ретінде mov инструкциясын алып қарастырамыз, өйткені ол ең көп тараған және адресациялау әдістерінде көп пайдаланылатыны болып саналады. 3.1 суретте mov инструкциясының мысалы көрсетілген. Команданың басында mov мнемоникасы жазылған, ал содан кейін операндтар көрсетілген. Операнд-таратқыш оң жағынан берілген, операнд-қабылдағыш — сол жағында. Таратқыш пен қабылдағыштың мұндай жазбаларының тәртібі бастапқыда қолайсыз болып көрінуі мүмкін — солдан оңға қарай ыңғайлырақ көрінуі мүмкін. Таратқыш және қабылдағыш міндетті түрде үтірмен ерекшеленеді. Ескерту, movs инструкциясы ғана бір командамен, деректерді жадыдан жадыға көшіруге мүмкіндік береді.
3.1 суреттегі mov ах,вх командасы 16-биттік таратқыш мәнін — ВХ регистріне — ал қабылдағыш мәнін — АХ регистріне орналастыруды орындайды.
3.2 суретте mov командасының көмегімен деректерді адресациялау әдістерінің барлық мүмкін болатын үйресімдіктері келтірілген. Ескерту, мұндағы көрсетілген барлық адресациялау әдістері Intel микропроцессорларының барлық түрлерін бірдей арналып жасалған, ол тек бірінші 80386 процессорларында ғана пайда болған масштабтаумен байланысты индекстік адресациялауда ғана қолданылмайды.
Деректерді адресациялау әдістері, mov инструкциясының мысалымен қарастырылған.
Регистрлік адресациялау
Регистр-таратқыштан немесе жадыдан алынған байт немесе сөз көшірмесін регистр – қабылдағышқа немесе жадыға орналастыруды орындайды. Мысалы, mov cx,dx инструкциясы 16-биттік DX регистрінің мәнін СХ регистріне көшіруді орындайды. 80386—Pentium 4 процессорларында екілік сөздерді алып – орналастыруды орындауға болады. Мысалы: mov ecx,edx инструкциясы 32-биттік EDX регистрінің мәнін ЕСХ регистріне көшіреді.
Тура адресациялау
Байт немесе сөз форматындағы тура мәнді регистр – қабылдағышқа немесе жадыға орнылыстыруды орындайды. Мысалы, mov al,22h инструкциясы 22Н байттық мәнді AL регистріне көшіруді орындайды. 80386— Pentium 4 процессорларында сондай – ақ екілік форматтағы тура мәндермен де жұмыс істеу жағдайлары қарастырылған. Мысалы, mov евх, 12345678Н инструкциясы 32-биттік 12345678Н константасын 32-биттік ЕВХ регистріне көшіреді.
Негізгі әдебиеттер: [1] – 31- 800 б, [2] – 15-600 б.
Бақылау сұрақтары:
- Қандай шарт бойынша JO командасы бойынша өту орындалады?
- Шартты қандай командалар таңбалы деректерді салыстыру үшін қолданылады?
- Шартты қандай командалар таңбасыз деректерді салыстыру үшін қолданылады?
- Шартты өтудің қандай командалары бірден Z және С жалаушаларының мәнін тексереді?
- JCXZ командасы бойынша өту қандай шартпен тексеріледі?
5-Дәріс. Басқаруды беру инструкциялары.
Басқаруды беру инструкциялары программалардың орындалу тізбегін өзгертуге, код фрагменттерін өңдеуге мүмкіндіктер береді.
Орындалу тізбегін өзгерту жайындағы шешім негізінен көбінесе смр немесе test инструкцияларының шешімімен немесе шартты өту командаларының көмегімен орындалады. Бұл бөлімде ауысулармен қоса басқаруды беру, ішкіпрограмманы шақыру, қайтулар, үзулер және сондай – ақ ассемблердің логикалық операторларын басқаратын процессорлар командалары қарастырылған (директивалар .if, .ELSE, -ELSEIF, .ENDIF, .WHILE, .ENDW, .REPEAT И .UNTIL), MASM 6.x және TASM 5.x қолданылады. Логикалық операторлар, С тілінде таратылған, ассемблер тілінде құрылымдық программалауды автоматтандыруға көмектеседі.
Ауысу инструкциялары
Басқаруды шартсыз ауыстыру инструкциясы jmp (jump — ауысу) программа фрагментін тастап кетуге мүмкіндік береді және программа өз жұмысын ауысқан адрес бойынша бастайды. Ал шартты ауысу командалары шешемді деректерді тексеру нәтижесіне байланысты қабылдайды. Нәтижелер жалаушаларда көрсетіледі; олардың бағалануы шартты ауысу командаларының орныдалуына байланысты болады. Шартқа байланысты орындалатын инструкциялар, ол дегеніміз шартты ауысу және шартты қойылым деп аталады
Шартсыз ауысу
6.1 суретте шартсыз ауысу командаларының үш типі көрсетілген: қысқа (short), жақын (near) және алыс (far). Қысқа инструкция екі байтпен кодталады, ол басқаруды командадан 1-ден +127 байтқа дейін пайдалануға мүмкіндік береді. Үшбайттық жақын ауысу диапазоны басқаруды ±32 Кбайтқа дейін өсіріп пайдалануға мүмкіндік береді, берілген сегмент ішінде. Ескерту, сегменттер циклдық ұйымдастырудан тұрады; бұл FFFFH ығысуынан кейін 0000Н ығысуы бар екендігін білдіреді. Сондықтан FFFFH адресінен екі байт алға жылжыса басқару 0001Н адресіне беріледі. Сөйтіп ±32 Кбайт аймағындағы өту арқылы код сегментінің кез – келген адресіне жетуге болады. Сонымен, бесбайттық алыс ауысу инструкциясы барлық пайдалануға болатын жадыға қатынай алады. Қысқа және жақын ауысуларды сондай – ақ ішкі сегменттік деп, ал алыс ауысуды — сыртқы сегменттік деп атайды.
80386—Pentium 4 процессорларында
қолғалған режимнің жақын
Қысқа ауысу
Қысқа ауысу, келешекте салыстырмалы түрде, адрестік аймақта командалардың ауысуын береді. Мұндағы ауысу машиналық кодтағы қысқа ауысуға абсолюттік есем адрес берілгендіктен. Қысқа ауысудың шектеуі +127 және —128 мәндерімен берілуі мүмкін. 6.2 суретте қысқа ауысу командасының орындалуы көрсетілген. Оның орындалуы кезінде микропроцессор таңбалы мәндерді 16 битке дейін ығыстырады және оны көрсеткіш инструкциясымен қосады (ip/eip).
мысал 6.1 программа листингі, программа фрагментін өткізу үшін қысқа ауысудың инструкцияларын қолдану реті көрсетілген. Бұл мысалда сондай – ақ таңбаны (яғни адрестің символдық белгіленуі) ауыстыру инструкциясын қолдану реті де берілген. Көңіл аударыңыз, jmp short next операторындағы қысқа ауысу short директивасымен белгіленген. Көптеген ассемблерлер ауысудың ең қысқа формасын таңдайды, және ауысудың екінші командасы (jmp start), негізінен, ол да қысқа ауысу формасында кодталады. Бірінші командада ауысу адресі келесі инструкция (0009Н) және ығысу (17Н) адрестерінің қосындысымен есептеледісонымен ол 00I7H + 0009Н = 0020Н тең болады.
Неігізгі әдебиеттер: [1] – 31- 800 б, [2] – 15-600 б.
Бақылау сұрақтары:
- Қысқа ауысу дегенді қалай түсінесіз?
- Қандай ауысу басқаруды ағымдағы код сегментінің кез – келген нүктесіне беруді орындауды?
- JMP қандай инструкциясы, жадыдағы адрестік аймақтың кез–келген нүктесіне ауысуды орындайды?
- Қандай ауысу бес байтпен кодталады?
- 80386—Pentium 4 процессорларындағы жақын ауысу диапазоны қандай?
6,7-Дәріс. Ассемблерде программалау мүмкіндіктері.
Бұл тақырыпта біз MASM ассемблерінің макроқұралдарын және BIOS/DOS функцияларын пайдалана отырып программаларды өңдеуді қарастырамыз. Бұл тақырыпта макрокомандаларды, кітіпханаларды қолдана отырып модульдік программалау технологияларын, батырмадан енгізу үшін, дисплейге шығару және файлдық енгізу/шығару үшін, маус драйвері үшін BIOS/DOS функцияларын және үзу мен резидентті программаларды өңдеуді қарастырамыз.
Ассемблер және компоновкалаушы
Ассемблер программасы орындалатын модульді ассемблер тілінің операторларымен бірге объектілік модульге ауыстыруды орындайды. 7.1 мысалда MASM 6.1 қолдана отырып орындалатын файлдың NEW.ASM трансляциясымен бірге берілген диалог программасы келтірілген. Бұл мысалда трансляция DOS командалық жолынан жіберіледі. Ескерту, Programmer's Workbench өңдеу ортасын шақыру кезінде программаларды командалық жол арқылы шақырудың керегі жоқ. Кей жағдайларда, ASM кеңейтулеріндегі орындалатын файлдар міндетті түрде WorkBench ортасында құрылып, редакциялануы керек.
7.1. мысал. MASM ассемблерінің диалогы
6.11 оны командалық жолдан щақыру кезінде
C:\MASM611\FIIiES>nu /Flnew.lst new.asm
Microsoft (R) Macro Assembler Version 6.11
Copyright (C) Microsoft Corp 1981-1993. All rights reserved.
assembling: new. asm
Microsoft (R) Segmented Executable Linker Version 5.31.009 Jul 13 1992 Copyright (C) Microsoft Corp 1984-1992. All rights reserved.

- Контрольная работа по "Информатике"
- Контрольная работа по "Информатике"
- Контрольная работа по "Информатике"
- Контрольная работа по "Информатике"
- Контрольная работа по "Информатике"
- Контрольная работа по "Информатике"
- Контрольная работа по "Информатике"
- Контрольная работа по "Информатике"
- Контрольная работа по "Информатике"
- Контрольная работа по "Информатике"
- Контрольная работа по "Информатике"
- Контрольная работа по "Информатике"
- Контрольная работа по "Информатике"
- Контрольная работа по "Информатике"