Тизимли дастурлаш таъминотга кириш. Компьютер архитектураси


Download 78 Kb.
bet3/4
Sana09.06.2023
Hajmi78 Kb.
#1476566
1   2   3   4
Bog'liq
Tizim dasturlash

6. СЕГМЕНТЛАР.
Параграфнинг чегарасидан бошланадиган областp сегмент дейилади, бу 16 га қолдиқсиз бўлинадиган адресдир. Сегмент хотиранинг ҳар қандай жойда жойлашган бўлиши мумкин ва унинг катталиги 64 Кбайтгача етади. Шундай бўлсада дастурнинг ишлаши учун қанча хотира керак бўлса, сегментга ҳам шунча хотира керак бўлади. Учта асосий сегментлар бор:
1. Кодлар сегменти. Кодлар сегменти бажариладиган машина кодларини ўз ичига олган. Одатда, биринчи бажариладиган команда шу сегментни бошида жойлашган бўлади ва операцион система дастурни ишлаши учун шу сегмент адреси бўйича бошқаришни топширади. Кодлар сегментини регистри (СS) шу сегментни адреслаштиради.
2. Маълумотлар сегменти. Маълумотлар сегменти баъзи маълумотлар, ўзгармаслар ва дастурга керакли иш бажарадиган областpларни сақлайди. Маълумотлар сегментини регистри (DS) шу сегментни адреслаштиради.
3.Стек сегменти. Стек дастурни операцион системасига қайтиш, ҳамда асосий дастурга қайтиш учун подпрограммаларни чақириш адресларини сақлайди. Стек сегментини регистри (SS) шу сегментни адреслаштиради.
ES қўшимча сегмент регистри. У махсус ишлатишга белгиланган.
Дастурни ичида ҳамма хотирани адреслари сегментни бошига нсбатан. Шундай адреслар сегментнинг бошланишидан силжитиш деб айтилади. 2 байтли силжитиш (16-бит) 16-ли 0000 дан 16-ли FFFFгача, ёки 0 дан 65535 гача бўлиш мумкин. Дастурда ҳар қандай адресга мурожат учун, компьютер сегмент регистрдаги адресни ва силжитишни қўшади. Масалан, кодлар сегментида биринчи байтни силжиши - 0, иккинчисини - 01 ва хаказо 65530 силжишигача.
Адреслаштириш Тўғрисида мисол: фараз қилайлик, Маълумотлар сегмент регистрида 16-ли 045F бор ва қанақа-дир команда 0032 силжиш билан Маълумотлар сегменти ичида хотирани катагига (ячейкага) мурожат қилади.
Маълумотлар сегмент регистри 16-ли 045F сақлайди. Лекин шу регистр 045F0 адресини кўрсатади (параграф чегарасига). Шунинг учун хақиқий хотира адреси қуйидагича:
DS адреси: 045F0
Силжиш: 0032
Реал адрес: 04622
Шундан келиб чиқиб 8086/8088 процессорлари хотирани 1 миллион байт қилиб адреслайдими? Деган савол туьилади. Регистрда 16 бит бўлади. Сегмент адреси ҳар доим параграф чегарасида бўлганлиги учун 4 та кичик битлар адреси 0 га тенг. 16 ли FFF0 10 ли 65520 (плюс силжиш) байт адреслайди. Лекин мутахассислар 0 га тенг бўлган битларни назарга олмасликка қарор қилишди. Шунинг учун сегмент регистрида адрес 16 ли nnnn бўлиб сақлансада, компьютер яна 4 та 0 га тенг кичик битлар бор 16 ли nnnn0 деб қабул қилади. Шундан келиб чиққан холда 16 ли FFFF0 10 ли 1048560 байт адреслайди.
80286 процессори адреслаш учун 24 бит ишлатади. Бу дегани FFFFF0 16 миллион байтгача адреслаши мумкин. 80386 процессори эса 4 млрд. байтгача адреслаши мумкин.

7. РЕГИСТРЛАР.


8086/8086 процессорларда 14 регистрлар бор. Шу регистрлар бажарилаётган дастурни бошқариш, хотирани адреслаштириш ва арифметик ҳисоблари учун ишлатилади. Ҳар бир регистр сўз (16-бит) узунлигига эга ва номи(исми) билан адреслаштирилади. Регистрларни битлари ўнгдан бошлаб номерланган:


15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
80286 ва 80386 процессорларда қўшимча регистрлар бор. Уларда баъзи бирлари 16- битлик.

CS, DS, SS, ва ES сегмент регистрлари.


Ҳар бир сегмент регистри 64К хотирани адреслаштиради ва одатдаги (текуўий) сегмент дейилади.
1.CS регистри. Кодлар сегмент регистри кодлар сегменти бошланғич адресига эга. Шу адрес ва команданинг силжиши катталиги (IР), командани адресини аниқлайди. Оддий дастурлари учун CS регистрига кўрсатишни кераги йуқ.
2.DS регистри Маълумотлар сегмент регистори Маълумотлар сегментини бошланғич адресига эга. Бу адрес ва командада аниқланган силжишни катталиги Маълумотлар сегментининг конкрет катагини кўрсатади.
3.SS регистри. Стек сагментни регистри стек сегментида бошланғич адресини сақлайди.
4.ES регистри. Айрим сатр устидаги операциялар хотира адресацияси учун қўшимча сегмент регистрини ишлатадилар. Бу ерда ES регистри индекс регистри DI билан боьланган. Агар ES регистрини ишлатиш зарур бўлса, асемблер дастури уни ўрнатиши керак.
Умумий мақсадли регистрлар: AX, BX, CX, ва DX.
Ассемблерда дастурлаштиришда, умумий мақсадли регистрлар “ишчи” регистрлар ҳисобланади. Бу регистрни бир бутун сўз ёки бир байтли қисмдек адреслаш мумкин. Чап байти катта (тўньич) қисм бўлади (high) , ўнг байти эса кичик (кенжа) қисм (low). Масалан, CX 2- байтли регистр иккта бир байтли CН ва CL регистрлардан иборат ва ҳар қандай учта номи билан регистрга мурожат қилиш мумкин. Қуйидаги учта ассемблер командалар CX, CH ва CL регистрларга тегишлича нолларни юборади.
MOV CX, 00
MOV CH, 00
MOV CL, 00
1) AX регистри. AX регистри таллагичдир. У ҳамма киритиш ва чиқариш операцилар ва баъзи сатрларни устидаги операциялар учун ишлатилади. Масалан, кўпайтириш ва бўлиш, силжиш командалар AX регистрни ишлатишади. Баъзи командалар, агар AX регистрга мурожат қилишса, эфективроқ кодига эга бўладилар:
AX: ! AH ! AL !
2) BX регистри. BX регистри таянч (база) регистридир. Бу биргина, “индекс” сифатида кенгайтирилган адреслаштириш учун умумий мақсадли регистридир.
BX: ! BH ! BL !
3) СX регистри. СX регистри счетчикдир. У цикларни қайтарилишини бошқариш, чапга ва ўнга силжиш операциялари учун ишлатилади. СX регистри ҳисоблаш учун ҳам ишлатилади.
СX : ! CH ! CL !
4) DX регистри. DX регистри Маълумотлар регистридир. У баъзи киритиш чиқариш операциялр учун ишлатилади. ВА (шунақа) катта сонлардаги (қайси DX ва AX регистр жуфтини ишлатирса) кўпайтириш ва бўлиш операциялар учун ишлатилади.
DX : ! DH ! DL !
Ҳар бир умумий мақсадли регистрлар қўшиш ва айириш учун 8- ли ҳам, 16- ли битлар ҳам ишлатиши мумкин.

Регистр кўрсаткичлар: SP ва BP


SP ва BP регистр кўрсаткичлар системага стек сегментида Маълумотларга кириш йўлини таъминлайди Камдан-кам, улар қўшиш ва айириш операциялари учун ишлатилади.
1. SP регистри. Стек кўрсаткичи хотирада стекни ишлатишни таъминлайди;
вақтинча адрес ва Маълумотларни сақлайди. Шу регистр стекни адреслаш учун SS регистри билан боьланган.
2.BP регистри. Базанинг кўрсаткичи параметрларга Маълумотларга ва стек орқали бериб юборилган адресларга кириш йўлини енгиллаштиради.

Индекс регистрлар: SI ва DI.


Ҳар икки индекс регистрларини кенгайтирилган адреслаштириш учун ва қўшиш айриш операцияларда ишлатиш мумкин.
1. SI регистри. Бу регистр матнлар индексидир. Bu сатрлардаги баъзи операциялар учун ишлатилади. Шу кондексда SI регистри DS регистри билан бирлаштирилган.
2.DS регистри. Бу регистр топшириқ индексидир ва сатрлар операциялар учун ишлатилади. Шу контекстда SI регистри ES регистри билан боьланган.

Команда кўрсаткич регистри: IР


IР регистри бажарадиган командага силжишишни сақлайди. Одатда, дастурда бу регистр ишлатилмайди.
Байроқ регистри.
Байроқ регистрида 16 битдан тўққистаси актив бўлади. Улар машинани хозирги (одатдаги) ҳолатини ва бажаришлар натижаларини аниқлайдилар. Кўп арифметик командалар ва қиёслаш командалар байроқлар ҳолатини ўзгартиради.
Байроқ битларни вазифалари:
Ассемблерда дастурларни тузишда тез-тез арифметик ва қисмли операциялар учун сатрлар операцияларда йўналишларни белгилаш учун ишлатилади.



Байроқ

Вазифа

(тўлиб кетиш)

D (йўналиш)


I (ўзиб қуйиш)
T (қадамлаш режими)
S (белги)

Z (Нолp)



А (ташқи кўчириш)
Р(жуфтликка текшириш)
С (Кўчириш)

Арифметик командаларда катта битни тўлиб кетишини кўрсатади.
Сатр Маълумотларини (хотирадаги бир сўздан ошиб кетадиган Маълумотларни) чап ёки ўнг йўналишни тенгаштириш ёки юбориш
Ташқи ўзиб қуйиш мумкинлигини кўрсатади.
Процессрни қадамлаш режимда ишлашини таъминлайди. Мисол учун: DOS DEBUG дастури хотирадаги регистрларни буйруқ берилаётганда ўзгаришларни кўриш учун қадамма - қадам байроьини ўрнатади.
Арифметик операциялардан кейин натижали белгисини сақлайди. (0- плюс, 1- минус)
Арифметик ва қиёсат операцияларини натижасини кўрсатади. (0- нолли эмас, 1- нолли натижа)
3- битдан 8 битли Маълумотлар учдан кўчиришни сақлайди. Махсус арифметик опрациялар учун ишлатилади.
Кичик (кенжа) 8- битли Маълумотларни жуфтлигини кўрсатади (1- жуфт ва 0- тоқ (жуфт эмас)
Арифметик операциялардан кейин катта битдан кўчиришни ва силжитишларда ёки цикл силжитишларда охирги битни сақлайди




Download 78 Kb.

Do'stlaringiz bilan baham:
1   2   3   4




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling