Ассемблерлар. Объект кодни ҳосил қилиш. Ассемблер жадвали ва алгоритми


Ассемблер жадваллари ва алгоритми


Download 230.64 Kb.
bet2/2
Sana02.06.2024
Hajmi230.64 Kb.
#1835927
1   2
Bog'liq
Assemblerlar

Ассемблер жадваллари ва алгоритми. Юқорида қайд қилганимиздек ассемблер иккита босқичда амалга оширалади.
Биринчи ўтиш.

  1. Дастурда хар ифода (сатр) учун адресларни мос қўйиш.

  2. ҳар бир нишонга тайинланган адресни эслаб қолиш.

  3. Ассемблер директиваларини бажариш (BYTE, RESW,..).

Иккинчи ўтиш.

  1. Буйруқлар трансляцияси (буйруқлар кодига утиш ва адрес мурожаатларини ҳал қилиш).

  2. BYTE, WORD ва бошқа директиваларига мос берилганларини ҳосил қилиш.

  3. Биринчи ўтишда бажарилмаган ассемблер директиваларини бажариш.

  4. Объект кодларни маълумот сақлагича ёзиш ва дастур чоп қилиш.

СЎМ ассемблери иккита ички жадвалдан фойдаланади: буйруқлар кодларининг жадваллари (OPTAB) ва рамзий номлар жадвали (SYMTAB). OPTAB буйруқлар мнемоник номлари билан уларнинг машина эквивалентларини сақлайди, SYMTAB эса дастурдаги номлар (нишонлар) қиймати – адресларини сақлаш учун ишлатилади.
Булардан ташқари адреслар ҳисоблагичи – LOCCTR керак бўла­ди. LOCCTR – ўзгарувчи бўлиб, у адресларни тайинлашда ишлати­лади. LOCCTRнинг бошланғич қиймати START ассемблер директива­сининг операнди билан аниқланади. Дастурнинг навбатдаги сатри қайта ишлангандан кейин, буйруқ узунлиги ёки берилганлар соҳаси­нинг узунлиги LOCCTRга қўшилади.
OPTABда камида рамзий номлар ва уларнинг машина эквивалентини сақланиши керак. Мураккаб ассемблерларда OPTAB қўшимча равишда буйруқлар узунликлари ва форматларини сақлаши керак.
Ассемблернинг биринчи ўтишидаги OPTAB буйруқлар кодлари тўғри ёзилган ёки йуқлигини аниқлаш учун фойдаланилади. Иккинчи ўтишда мнемоник кодларни машина кўринишига ўтказиш учун фойдаланилади.
SYMTAB бошланғич дастурдаги номлар ва уларнинг қиймат­лари­дан, хамда хатолик аломатларидан иборат бўлади (масалан, нишоннинг икки марта эълон қилинган ҳолати).


Назорат саволлари



  1. СЎМ учун тузилган дастурсида START қиймати нимани аниқлайди ?

  2. СЎМ учун тузилган дастурда буйруқга мос объект кодни ҳосил қилишни тушунтиринг?

  3. Объект дастур қандай қисмлардан тузилган?

  4. Ассемблер жараёнининг қайси жадвалида буйруқларнинг машина кодалари бўлади?

  5. Нима учун ассемблер жараёни икки ўтишда амалга оширилади?



Адабиётлар: [8-11]
Download 230.64 Kb.

Do'stlaringiz bilan baham:
1   2




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