Главная Обратная связь

Дисциплины:

Архитектура (936)
Биология (6393)
География (744)
История (25)
Компьютеры (1497)
Кулинария (2184)
Культура (3938)
Литература (5778)
Математика (5918)
Медицина (9278)
Механика (2776)
Образование (13883)
Политика (26404)
Правоведение (321)
Психология (56518)
Религия (1833)
Социология (23400)
Спорт (2350)
Строительство (17942)
Технология (5741)
Транспорт (14634)
Физика (1043)
Философия (440)
Финансы (17336)
Химия (4931)
Экология (6055)
Экономика (9200)
Электроника (7621)






Жанама адрестеу кезіндегі адресті қалыптастыру режимдері



Билет

1. Пайдаланушылар регистрлеріРегистрлер – қатынас адрес бойынша емес, аты бойынша жүргізілетін процессордың ішінде орналасқан жадының арнайы ұяшықтары.

Регистрлер жинағыМикропроцессордың программалық моделі 32 регистрден тұрады. Оларды екі үлкен топқа бөлуге болады:

- 16 қолданушылық регистрлер;

- 16 жүйелік регистрлер.

Қолданушылық регистрлер. Қолданушылық регистрлерін программа жазушы өзінің программасын жазу барысында қолдана алады. Бұл регистрлерге жататындар:

- сегіз 32-битті регистрлер. Оларды программа жазушы мәліметтер мен адрестерді сақтау үшін қолдана алады (оларды сондай-ақ, жалпы міндет регистрлері деп те атайды): eax/ax/ah/al, ebx/bx/bh/bl, edx/dx/dh/dl, ecx/cx/ch/cl, ebp/bp, esi/si, edi/di, esp/sp;

- алты сегменттер регистрлері: cs, ds, ss, es, fs, gs;

- қалып-күй және басқару регистрлері: жалаулар регистрі eflags/flags және команданы көрсету регистрі eip/ip.

Жалпы міндет регистрлері

Бұл топтың барлық регистрлері өзінің «кіші» бөліктеріне қатынауға мүмкіндік береді; өздік адрестеу үшін осы регистрлердің тек кіші 16- және 8-битті бөліктерін қолдануға болады. Б±л регистрлердің үлкен 16 биті өздік объекттер ретінде р±ќсатты емес. Жалпы міндет регистрлері процессорда арифметикалыќ-логикалық құрылғының (АЛҚ) ішінде орналасатындықтан оларды АЛҚ регистрлері деп те атайды:

- eax/ax/ah/al (Accumulator register) — аккумулятор. Аралық мәліметтерді сақтау үшін қолданады. Кейбір командаларда бұл регистрлерді қолдану міндетті;

- ebx/bx/bh/bl (Base register) — базалық регистр. Жадыдағы қайсыбір объектінің базалық адресін сақтау үшін қолданады;

- ecx/cx/ch/cl (Count register) — санауыш-регистр. Командаларда қайсыбір әрекетті қайталау үшін қолданады. Оны қолдану көбінесе сәйкес команданың жұмыс алгоритмінде айќын емес және жасырынды. Мысалы, циклды ұйымдастыратын loop командасы қайсыбір адрес бойынша орналасқан командаға басқаруды беруден басқа есх/сх регистрінің мәнін талдайды жєне бірге азайтады;



- edx/dx/dh/dl (Data register) — мәліметтер регистрі. еах/ах/ ah/al регистрі сияқты бұл регистр де аралық мәліметтерді сақтайды. Кейбір командаларда оны қолдану міндетті. Келесі екі регистр тізбекшелі операцияларды қолдау үшін қолданылады, яғни бұл операциялар элементтер тізбекшелерін тізбекті түрде өңдейді, олардың әрқайсысының ұзындығы 32, 16 немесе 8 бит болады;

- esі/sі (Source Іndex regіster) — таратқыш индексі. Б±л регистр тізбекті операцияларда тізбек-таратқышта элементтіњ аѓымдаѓы адресінен тұрады;

- edі/dі (Destіnatіon Іndex regіster) — қабылдағыш индексі (қабылдап алушы). Тізбекті операцияларда бұл регистр тізбек-қабылдағышта аѓымдаѓы адрестен тұрады.

Микропроцессордың архитектурасында программалық – аппараттық деңгейде стек атты мєліметтер құрылымы пайдаланылады. Стекпен жұмыс істеу үшін микропроцессор командалар жүйесінде арнайы командалар бар, ал микропроцессордың программалық моделінде үшін арнайы регистрлер пайдаланылады:

- esp/sp (Stack Poіnter regіster) — стек көрсеткішініњ регистрі.

Ағымдағы стек сегментіндегі стек төбесінің көрсеткішінен тұрады.

- ebp/bp (Base Poіnter regіster) — стектіњ кадры базасыныњ көрсеткішініњ регистрі. Стек ішіндегі деректерге қатынауды өз еркінше ұйымдастыру үшін арналған.



2. Жадыда операндтарды адрестеудің негізгі түрлері.Жадыда операндтарды адрестеудіњ негізгі түрлері. Адрестеудіњ барлыќ т‰рлерініњ мақсаты — процессорѓа тиімді адрес деп аталатын 16 биттік тањбасыз мєнді есептеуге кµмектесу. Тиімді адрес, cs, ds, es, ss тµрт сегменттік регистрлердіњ бірімен адрестелетін базалыќ сегменттен бастап ығысуды көрсетеді. Сегменттік регистр мен ығысу, ары ќарай жадыда байттыњ жаѓдайын бір маѓыналы аныќтайтын 20-биттік физикалық адреске т‰рленетін 32 биттік логикалыќ адресті т‰зеді. Адрестеу режимінің жалпы саны микропроцессордыњ архитектурасымен анықталады (құжат бойынша 8088 микропроцессорында операндтарды адрестеудіњ 24 режимі бар).Жадыда операндтарды адрестеудіњ негізгі түрлері: тура, жанама, базалық, индекстік, базалық-индексті.

3. Байт массивін қалай анықтайды?Байт – жадыда ең кіші адрестелетін шама. Байт 8 биттен тұрады. Байт (Б) (ағылш. Byte, B) — дерек көлемін өлшеу бірлігі. Сегіз биттен тұратын топ.
1)Байт (ағылшынша byte) — ЭЕМ-дегі символдық таңбаларды бейнелейтін сегіз разрядты екілік сан тізбегінен тұратын, адрестелетін мәліметтерді өлшеуге арналған ең кіші бірлік. Компьютер жадының бір ұясында бір Байт мәлімет сақталады. Бір Байт бір-бірімен қатарласа тізбек түрінде орналасқан 8 биттен, яғни екілік сан таңбаларынан тұрады. Мысалы, компьютерде “Е” әрпі 10000101, кіші “е” әрпі 10100101, “/” таңбасы 00101111, “8” саны 00111000 түрінде өңделеді. Бір Байт тек бір символды бейнелейтін ақпарат өлшеу бірлігі болғандықтан, оның көмегімен 256 символды (28=256) өрнектеуге болады. Компьютер жадының көлемі осы Байт бірлігімен өлшенеді. Ол үшін Байт бірлігінің еселік түрлері: килобайт — Кб (1 Кб=1024 Б=210Б.), мегабайт — Мб (210 Кб), гигабайт — Гб (210Мб) қолданылады. Мысалы, ЭЕМ-нің шапшаң жадының көлемі 32 Мб болса, онда 32Һ210 Байт (символ) ақпарат сақталынады. Ал, ЭЕМ-нің сыртқы жадында (магниттік дискілерінде) 1—8 Гб және одан да көп ақпарат сақтауға болады. Мысалы, 400 беті бар, әр бетінде 50 қатар, ал әр қатарда 50 таңба болатын кітаптың көлемін Байт арқылы есептесек, онда 400Һ50Һ50 = 1000000 Байт = 1 Мб (яғни көлемі 1 Гб дискі 1000 кітапты есте сақтай алады). Қатар орналасқан төрт Байт бір машиналық сөз болып есептеледі, ол 32 биттен тұрады. 64 биттен немесе 8 Байттан тұратын мәліметтер бірлігі екі еселенген машиналық сөз деп аталады. Компьютер осы машиналық сөздер тізбегін өңдейді. [1]
2)Байт (Byte) — 1) ақпарат мөлшерінің бірлігі немесе 8 битке (екілік цифр) тең компьютердегі жад. Айтарлықтай ірі ақпарат бірлігі: 1 килобайт (Кбайт) 1024 байтқа тең, ал 1 мегабайт (Мбайт) 1042 Кбайтқа тең; 2) адрес иемдене алатын ең аз бірлік. Әрбір байт мәліметтердің бір таңбасына — әріпке, цифрға немесе символға сәйкес келеді. Байттар — компьютердің қуатын өлшеудің немесе оның дискілердегі сақтауыш құрылғысының сыйымдылығының стандартты бірлігі. Өңделетінақпараттың нысаналық көлемі (жаңа есептеу құралдарында) — секундына 100 килобайт, өндеу көлемі — ақпараттың әрбір байтына 50—55 арифметикалық операция; 3) сегіз биттен және бір бақылау битінен түратын машиналық сөздің стандартты бөлігі. Әрбір байт компьютерде біртұтас бүтін ретінде өңделеді.

Билет

Жанама адрестеу кезіндегі адресті қалыптастыру режимдері.

Жанама адрестеу Жанама адрестеуде сегменттегі сәйкес операндтыњ ыѓысуы микропроцессор регистрлерінің бірінде сақталады. Осылайша, микропроцессор регистрінің аѓымдаѓы ќ±рамы командада қолданылатын операндтың орындаушы адресін анықтайды.

Синтаксистік т‰рде командада б±л адрестеу режимі регистрдіњ атын квадратты жаќшаѓа [ ] алумен кµрсетіледі.

mov ax, [ecx] командасы есх регистрінде сақталатын ыѓысумен мєліметтер сегментінен адрес бойынша сµздіњ ќ±рамын ах регистріне көшіреді.

Жанама адрестеу кезінде 18086 микропроцессоры ‰шін тек қана [ВХ], [SI], [DI], [ВР] регистрлерін ќолдануѓа болады. Бастапќы үш регистрлер ‰шін олардыњ ќ±рамы мєліметтер сегментіне ќатысты ыѓысу болып табылады (демек, DS сегменттік регистрініњ аѓымдаѓы мєні адрестіњ екінші ќ±рамасын аныќтайды). [ВР] регистрі адресті есептеу үшін стек сегментінде ығысуды анықтайды. ВХ немесе ВР регистрлерін қолдану кезінде адрестеуді базалық, ал SI немесе DI қолдану кезінде - индекстік деп атайды.

Жанама адрестеуді регистр арқылы қолдануын көрсету ‰шін жоѓарыда кµрсетілген мысалды т‰рлендірейік:

mov AX, OB800h;Бейнебуфердіњ сегменттік

mov ES, AX;адресі ES-те

mov BX, 2 0 0 0; Экранның ортасына ығысу

mov byte ptr ES : [BX] , ‘!’ ;Экрандағы символ

Егерде жанама адрестеу ВХ, SI немесе DI регистрлерініњ бірінің көмегімен орындалса, онда DS арқылы адрестелетін сегмент т‰сініледі, сондықтан б±л регистр арқылы адрестеу кезінде DS: белгілеуін түсіруге болады:

mov AX, 0B800h ;Бейнебуфердіњ сегменттік адресі

mov DS, AX ;DS-те

mov BX, 2000 ;Экранның ортасына ығысу

mov byte ptr [BX] , ' ! ' ;Экрандағы символ

Бұл фрагмент алдыңғыға қарағанда жадыны ‰немдеу маѓынасында тиімді. Соњѓы команданыњ кодында сегментті ауыстыру префиксі болмаѓандыќтан, ол 1 байтќа кем орын алады.

ВХ, SI және DI регистрлері бұл қолдануда тең мєнді, сондықтан олардың кез келгенін қолдануға болады:

mov DI, 2000;экранның ортасына ығысу

mov byte ptr [DI] , ' ! ' ;Экрандағы символ

ВР регистрі арнайы стекпен жұмыс істеуге арналған жєне жанама адрестеу режимдерінде б±л регистр арќылы адрестеу кезінде стек сегменті т‰сініледі, басќаша айтќанда, сегменттік регистр ретінде, ‰нсіздік бойынша SS регистрі қолданылады.

Базалық адрестеумен команда жадыда аз орын алады (өйткені оѓан ±яшыќ адрестері кірмейді) және тура адрестеу командасына қарағанда тез орындалады. Сондықтан базалық адрестеу, берілген адрес бойынша кµп рет ќаратпа жасауѓа тура келген жаѓдайларды, єсіресе, циклда, тиімдірек болып саналады.

I80386 жоѓары микропроцессорлар ‰шін жанама индексті адрестеу жєне база бойынша жанама адрестеу кењейтілген. Индекстік регистрлер ретінде барлық мєліметтер регистрлерін қолдануға болады - [ЕАХ], [ЕВХ], [ЕСХ], [EDX], және де үш индексті регистрлер - [ЕВР], [ESI], [EDI]. Бұл жағдайда т±раќты, немесе байт, немесе ќос сµз болуы мүмкін, жєне б±л т±раќты тањбасы бар сан ретінде қарастырылады.

[ЕВР] регистрінен басқа барлыќ регистрлер ‰шін адресті есептеу кезінде DS сегменттік регистрінің аѓымдаѓы ќ±рамы, ал [ЕВР] регистрі ‰шін - SS сегменттік регистрінің ќ±рамы қолданылады.

Offset операторы.

mov BX, offset array ;Базалық регистрде массивтің базалық адресі

mov BX,offset array ; массив адресі

mov DI,offset bios ;Мерзімді сақтау үшін өріске ығысу

mov DX,offset bios ;жолға ығысу

mov DX,offset bios ;жолға ығысу

3. Бит массивін қалай анықтайды? Бит –байттың бір разряды, ақпараттың ең кіші өлшемі

Компьютерде ақпараттың ең аз бірлігі бит болып табылады. Бит 0 немесе 1 мәндерін қабылдау мүмкін.

Сегіз биттен құралған топ байт деп аталады. Байт разрядтары немесе биттер оңнан солға қарай 0-ден 7-ге дейін нөмірленеді:

Биттер нөмірлері: 7 6 5 4 3 2 1 0 Биттер мәндері: 1 0 1 0 1 0 0 1

Екі байт немесе он алты бит сөз болып табылады.

Сөздер оңнан солға қарай 0-ден 15-ке дейін нөмірленеді.

Биттер нөмірлері: 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

Биттер мәндері: 1 0 1 0 1 0 1 0 1 1 1 1 0 0 0 0

Бұл сөзде 8-ден 15-ке дейінгі разрядты байт үлкен байт деп аталады және 10101010 мәніне ие болады, ал 0-ден 7-ге дейінгі разрядты байт кіші байт деп аталады және 11110000 мәніне ие болады.

Компьютердегі барлық есептеулер екілік санау жүйесінде, яғни екілік кодта іске асады. Сандарды он алтылық жүйеде келтіру сандардың екілік кодтағы қысқаша жазылуы болып табылады. Ол үшін төрт екілік разряд бір он алтылық разрядта жазылады. Бұл сандарды келтірудің екі форматынан басқа ондық, екілік-ондық (BCD) және ASCII – кодтар қолданылуы мүмкін.

 

 


Эта страница нарушает авторские права

allrefrs.ru - 2018 год. Все права принадлежат их авторам!