Читайте также:
|
|
Маскалау кезінде бастапқы сан мен маска арасында әрбір бит бойынша логикалық операциялар орындалады. Ол бір мезетте бірнеше разрядтарды өзгерту немесе сандардың теңдігін тексеру мақсатында орындалады:
- AND логикалық операциясы бастапқы санның керекті разрядтарын маска санының көмегімен тазартады, яғни маска-санында 0 тұрса сәйкес разряд тазарады, маска-санында 1 тұрса өзгермейді;
- OR логикалық операциясы бастапқы санның керекті разрядтарына маска санының көмегімен 1 орнатады, яғни маска-санынды 1 тұрса сәйкес разрядқа 1 орнайды, маска-санында 0 тұрса өзгермейді;
- XOR логикалық операциясының көмегімен көп жағдайда бастапқы сан мен маска санының теңдігін тексерген ыңғайлы. Егер екі санның сәйкес разрядтарының кем дегенде біреуінің мәні әртүрлі болса оның нәтижесі 1 болады, яғни XORнәтижесінің кем дегенде бір разрядының 1 болғаны екі санның тең емес екендігін көрсетеді, сондықтан нәтижесі 0 болса екі сан тең.
Маскалау операциясының мысалдары 2.3 кестеде келтірілген.
2.3 кесте – Маскалау нәтижелері
Объекттер | Операция | |||
OR (4-тен 7 дейін 1 орнату) | AND (0-ден 3 дейін тазарту) | XOR (екі сан тең емес) | XOR (екі сан тең) | |
Сан | ||||
Маска | ||||
Нәтиже |
Циклды шарттық операторлар және ауысу көмегімен орындау керек.
Шартты өту нұсқаулары BTFSC және BTFSS кез келген регистрдегі берілген биттің күйін тексереді, нәтижеге сәйкес программаның келесі нұсқауын аттап кетеді немесе орындайды. BTFSC нұсқауы берілген бит 0-ге тең болса аттап кетеді. BTFSS нұсқауы берілген бит 1-ге тең болса аттап кетеді. Осының негізінде басқаруды программаның басқа бөлігіне беру арқылы цикл ұйымдасады, 2.4 кестені қараңыздар.
2.4 кесте - Шартты өту нұсқауларының жұмысы
CARRY (C) битін қолдану | |
BTFSS STATUS, C GOTO METKA MOVWF R2 | Carryбиті1-ге тең болса, онда программаның келесі нұсқауыGOTO МЕТКА орындалмай аттап кетіледі, MOVWF R2 нұсқауы орындалады |
Carryбиті0-ге тең болса келесі нұсқау GOTO METKA орындалады | |
ZERO (Z) битін қолдану | |
BTFSS STATUS, Z MOVF R2, W MOVWF PORTC | Z 1-ге тең болса, онда программаның келесі нұсқауыMOVF R2, W орындалмай аттап кетіледі, MOVWF PORTCнұсқауы орындалады |
Z биті0-ге тең болса келесі нұсқау MOVF R2, Wнұсқауы орындалады, содан кейін MOVWF PORTC нұсқауы орындалады |
Нақты программаларда 2.4 кестеде көрсетілген нұсқаулар орнына алгоритмге сәйес нұсқаулар орналастыру керек.
Алдыңғы зертханалық жұмыстарда абсолютті адрестеу қолданылды, онда регистр адресі нұсқауда жазылады. Бұл зертханалық жұмыста жанама адрестеу қолданылады, онда нұқсауға адрес көрсеткіші жазылады, ол программа барысында өзгеруі мүмкін [2, 3, 6].
Дата добавления: 2015-07-19; просмотров: 102 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Жұмысты орындау тәртібі | | | Зертханалық жұмыс тапсырмасы және берілгендер |