75
Дастурни фойдаланишга беришдан олдин уни тўғрилигиги ишонч хосил қилиш
керак. Нотўғриликни аниқлашни иккита усули бор:
1. Дастурни конструкцияси синтактик хато.
2. Дастур нотўғри натижалар кўрсатмоқда.
Ассемблерда дастур тузишнинг асосий қоидалари
Команда кодлари
Маълумки микропроцессор фақат иккилик кодлар билан ишлайди. Бу кодлар
тўплами орасида микропроцессорни белгиланган ҳаракат (операция)ни бажаришга
мажбур қиладиган алоҳида кодлар гуруҳи мавжуд бўлади. Бу
код команда
тизимидан битта тегишли командани аниқлайди. Ҳар қандай команда коди хотира
қурилмасида иккилик 8 разрядли сон (байт) кўринишида бўлади. 1 байт ѐрдамида
2
8
қ256 турли кодли комбинацияларни шаклллантириш мумкин. КР580ВМ80
микропроцессори ҳам деярли ўшанча командага (244) эга. Табиийки, 244
та кодни
эслаб қолиш унчлик осон эмас, шунинг учун ҳар бир кодга унинг ҳаракатини
кўрсатувчи сўзнинг инглизча таржимасининг қисқартмаси ҳисобланадиган
команданинг мнемоник номланиши (мнемоникаси) мос равишда қўйилади.
Команданинг мнемоник коди унинг функциясини осон эслаб қолишга ва дастур
ѐзилишини сезиларли даражада соддалаштиришга имкон беради.
Дастур
ѐзилишининг бу тили Ассемблер тили деб аталади. Ассемблерда дастур ѐзилгандан
кейин уни яна микропроцессор тушунадиган тилга, яъни иккилик 8 разрядли сонлар
кетма-кетлиги кўринишига ўтказиш зарур. Иккилик рақамлар кетма-кетлигига
ўтказиш махсус транслятор-дастурлар (бу дастурлар «кросс-ассемблер» ѐки
«ассемблер» деб ҳам аталади) ѐрдамида автоматик равишда ѐки қўлда амалга
оширилади.
Командалар бир, икки ѐки уч байт узунлигида бўлади. Команданинг
ѐзилишида байтлар штрих билан ажратилади.
Масалан:
- LDA_В2_В3 - адреслари команданинг иккинчи ва
учинчи байтларида
ѐзилган маълумотни хотира ячейкасидан аккумуляторга кўчириш.
АССЕМБЛЕРда дастур ѐзиш бир қанча амалдаги қоидаларга риоя қилишни
талаб этади.
Дастур файли исталган матн муҳарририда ѐзилади ва унга *asm кенгайтмаси
берилади. Дастур командалар кетма-кетлиги кўринишида бўлади. Ҳар бир команда
бир қаторда ѐзилади ва тўртта қисм (майдон)дан иборат бўлади.
Масалан:
метка операция операнд изоҳ
Метка – берилган қаторда жойлашган команда адресининг символик номи
бўлиб одатда дастур бажарилиш жараѐнида унга мурожаат қилиниши кўриладиган
командаларга берилади. Метка ҳарфдан бошланади ва унинг узунлиги
чегараланмаган, лекин фақат биринчи 8 символлар фарқ қилади.
Метка ичида
пробел ишлатилмаслиги керак. метка сифатида регистрлар номи, команда коди ва
шунга ўхшаш бошқалар ишлатилмаслиги керак. битта дастурда икки ва ундан ортиқ
бир хил метка бўлмаслиги керак. Икки нуқта метка ва операция орасида ажратувчи
бўлиб ҳисобланади.
Операция – бу майдон команда мнемокоди ѐки
ассемблер директивасидан
ташкил этилади. Команда коди ва операнд ораси пробел билан ажратилади.