тізбегі екені белгілі. Соңғы бұйрықты дәл орындау үшін олар дәлме-дәл
80
санауышының разрядтары МП-нің деректер сөзінің ұзындығынан көп үлкен.
Мысалы, көлемі 65 К жадыға адрестелетін 8 разрядты МП-лердің көбінде
бұйрықтар санаушының разрядтар саны 16-ға тең. Бұған жеткілікті салмақты
негіздер бар. Жалпы міндет атқаратын ЭЕМ жадысының кез келген 65 536
аймақтарының ішінде бағдарламаның не ол, не бұл қадамы туралы ақпарат
болуы мүмкін, яғни "0"-ден 65 535-ке дейінгі адрес мәндерінің аралығында
бағдарлама кез келген жерінде басталуы да, аяқталуы да мүмкін. Міне осы
адрестерінің кез келгеніне сұрана алуы үшін бұйрықтар санауышының
билігінде 16 екілік разрядтар болуы тиіс. Тағы да ерекше көңіл аударып
кетейік, бағдарламаның бұйрықтары қайда орналасса да, олар белгілі
тәртіппен бірінен соң бірі жалғасып отырады.
12.1-сурет бойынша бұйрықтар санауышы МП деректерінің ішкі өрелік
жолымен жалғанған. Назариялық жағынан бұл санауыш ішкі өрелік жолға
қосылған МП қорабының кез келгенінен бағдарламаның адрестері туралы
деректерді ала алады. Бірақ тәжірибе жүзінде деректер әдетте бұйрықтар
санауышының ішіне ықшам ЭЕМ жадысынан келіп түседі.
МП жүмыс істей бастағанда бастапқы қою (келтіру) бұйрығы бойынша
бұйрықтар санаушының іші жады аймағынан алынған микропроцессорды
жобалаушы беретін деректермен тиеледі. Бағдарламаны жүргізу алдынан
оны бастапқы адресін жобалаушы тағайындаған жады аймағына орналастыру
қажет. Бағдарлама орындала бастағанда, бұйрықтар санауышының ішіндегі
барының бірінші мәні ретінде алдын ала белгіленген осы адрес болады.
Аккумулятормен
салыстырғандағы
бұйрықтар
санауышның
айырмшылығы - ол әр түрлі амалдарды орындай алмайтындығында. Оның
пайдаланатын бұйрықтар жиынтығы аккумулятордың пайдаланатын тап
сондай жиынтығымен салыстырғанда өте-мөте шектелген.
Бағдарламаны
орындаудың
алдынан
бұйрықтар
санауышын
бағдарламаның 1-ші бұйрығын ұстайтын жады аймағының адрес-санымен
тиеу керек. 12.1-суретте жадының адрес регистрі мен адрестік өрелік жол
бұйрықтар санауышынан төмен орналасқанына назар аударыңдар.
Бағдарламаның 1-ші бұйрығын ұстайтын жады аймағыннң адресі бұйрықтар
санаушы ішінен жадының адрес регистріне жіберіледі де, бұдан кейін екі
регистрлердің ішіндегі бары бірдей болады. Жадының адрес регистрінің
ұзындыгы 16 разрядқа тең. Бағдарламаның 1-ші бұйрығы орналасқан жерінің
адресі адрестік өрелік жол бойымен жадыны басқару тәсімдеріне жіберіледі,
бұның нәтижесінде көрсетілген адрес бойынша жататын аймақтың ішіндегі
бары оқылады, Әрине, оның ішіндегі бары бұйрық болуы тиісті. Жады бұл
бұйрықты, бұйрықтар регистрі деп аталатын МП қорабының арнайы
регистрінің ішіне жібереді.
Төмендегі баяндаланатынды дұрыс ұғу үшін келесіні айтып ескертейік.
Бұйрықты жады ішінен шығарып алғаннан кейін МП бұйрықтар
санауышының ішіндегі барына өзтәсірлі (автоматты) түрде өсімше береді.
Бұл өсімшені бұйрықтар санауышы, жады ішінен жаңа ғана шығарып алған
бұйрығын МП орындай бастаған кезінде алада. Демек, осы мезеттен бастап,
81
бұйрықтар санауышы келесі бұйрықтың қайсысы болатынын "көрсетеді".
Бұйрықтар санауыш кезек бойынша келесі болып орындалатын бұйрықтың
адресін кезектегі бұйрықтың, яғни қазіргі бұйрықтың, орындалу уақыты
бойы ұстап тұрады. Бұны ескеру керек, себебі ықшам ЭЕМ жұмысы
бағдарламалағанда, сіз бұйрықтар санауышының кезектегі мәнін пайдалану
керектілігімен қақтығысуыңыз мүмкін. Бұндай жағдайда бұйрықтар
санауышның әрбір берілген мезетте кезектегі орындалып жатқан бұйрықты
емес, одан кейін жалғасатын бұйрықты көрсететінін тану керек.
Бұйрықтардың ерекше тобын орындағанда бұйрықтар санауыш басқа
бір ішіндегі барымен тиелуі мүмкін. Негізгі, немесе басты бағдарламының
тізбегінен "түсіп қалатын" бағдарлама бөлігін орындау керектілігі де пайда
болуы мүмкін. Мысалы, бағдарламаны түгелімен орындау тәсірінде көп рет
қайталанатын бағдарламаның бөлігі бірнеше рет орындалуы тиісті.
Бағдарламаның бұл бөлігін барлық керек болған жерлерінде жаза бермей, бір
жерде жазып, оны қайта орындау керектігінде бұйрықтардың берілген
тізбегінен бас тартып, бірнеше рет орындауға болады. Басты бағдарламаның
бұйрықтарының қатал бір ізділігінен жалтару жолымен орындалатан
бағдарламаның бөлігі ішкі бағдарлама деп аталады. Бұйрықтар
санауышының ішіне ішкі бағдарламаның бастапқы адресі жазылғаннан кейін,
санауыш осы ішкі бағдарламаның орындалуынша өсімшелерді алып түрады.
Бұл жағдай басты бағдарламаға оралу бұйрығы кездескенше созылады.
Достарыңызбен бөлісу: