Микропроцессорлық жүйелерді құруда қолданылатын микропроцессорлық құралдардың біркристалды және модульдік жиынтықтарын, Үис және Үисс микропроцессорлық жиынтықтарының функционалданған және салыстырмалы сипаттамаларының принциптерін


Логикалық және Арифметикалық командалар



бет3/8
Дата11.03.2023
өлшемі123,5 Kb.
#73383
1   2   3   4   5   6   7   8
Байланысты:
Ельчибаев

2.3 Логикалық және Арифметикалық командалар

Арифметикалық командалар операнд кодтарын сандық екілік немесе екілік ондық кодтар ретінде қарастырады. Бұл командаларды бес негізгі топқа бөлуге болады:


1) тұрақты нүктелік операциялар командалары (қосу, азайту, көбейту, бөлу);
2) Өзгермелі нүктелік операциялар командалары (қосу, азайту, көбейту, бөлу);
3) тазалау командалары;
4) қосымша және декремент командалары;
5) салыстыру командасы.
Тұрақты нүктелік операциялар командалары процессор регистрлеріндегі кодтармен немесе жадта әдеттегі екілік кодтар сияқты жұмыс істейді. Қосу пәрмені (ADD) екі кодтың қосындысын есептейді. Азайту пәрмені (SUB) екі кодтың айырмашылығын есептейді. Көбейту пәрмені (MUL) екі кодтың көбейтіндісін есептейді (нәтиженің бит коэффициенті коэффициенттің бит жылдамдығынан екі есе көп). Бөлу пәрмені (DIV) бір кодты екіншісіне бөлудің бөлігін есептейді. Сонымен қатар, бұл командалардың барлығы белгісі бар сандармен де, белгісі жоқ сандармен де жұмыс істей алады.

Өзгермелі нүкте (нүкте) командалары реті мен мантиссасы бар сандарды бейнелеу форматын қолданады (әдетте бұл сандар қатарынан екі жад ұяшығын алады). Қазіргі заманғы қуатты процессорларда өзгермелі нүктелік командалар жиынтығы тек төрт арифметикалық әрекетпен шектелмейді, сонымен қатар тригонометриялық функцияларды, логарифмдік функцияларды, сондай-ақ дыбыс пен кескінді өңдеу кезінде қажет күрделі функцияларды есептеу сияқты көптеген басқа күрделі командаларды қамтиды.


Тазалау пәрмендері (CLR) нөлдік кодты регистрге немесе жад ұяшығына жазуға арналған. Бұл пәрмендерді нөлдік кодты жіберу пәрмендерімен ауыстыруға болады, бірақ арнайы тазалау пәрмендері әдетте жіберу пәрмендеріне қарағанда жылдамырақ орындалады. Тазалау командалары кейде логикалық командалар тобына жатады, бірақ олардың мәні осыдан өзгермейді.


Қосымша (бірлікке ұлғайту, INC) және декремент (бірлікке азайту, DEC) командалары да өте ыңғайлы. Оларды негізінен бірлікті қосу немесе бірлікті азайту пәрмендерімен ауыстыруға болады, бірақ қосу және азайту қосындылар мен азайтуларға қарағанда тезірек орындалады. Бұл командалар бір уақытта Шығыс операнд болып табылатын бір кіріс операндын қажет етеді.


Соңында, салыстыру пәрмені (CMP арқылы белгіленеді) екі кіріс операндын салыстыруға арналған. Негізінде, ол осы екі операндтың айырмашылығын есептейді, бірақ Шығыс операндын жасамайды, тек осы азайту нәтижесінде процессордың күй регистріндегі (PSW) биттерді өзгертеді. Салыстыру пәрменінен кейінгі пәрмен (әдетте өту пәрмені) процессор күйінің регистріндегі биттерді талдайды және олардың мәндеріне байланысты әрекеттерді орындайды. Кейбір процессорлар жадта орналасқан екі операнд тізбегін (мысалы, 8086 процессорында және онымен үйлесімді) тізбекті салыстыру командаларын ұсынады.


Логикалық командалар операндтардың үстінде логикалық (биттік) операцияларды орындайды, яғни олар операнд кодтарын бір сан ретінде емес, жеке биттердің жиынтығы ретінде қарастырады. Бұл арқылы олар арифметикалық командалардан ерекшеленеді. Логикалық командалар келесі негізгі операцияларды орындайды:

1) 2-Модуль бойынша логикалық және, логикалық немесе қосу (Алып тастау немесе);


2) логикалық, арифметикалық және циклдік сдысулар;
3) биттер мен операндтарды тексеру;
4) процессордың күй регистрінің (PSW) биттерін (жалауларын) орнату және тазарту.

Логикалық операциялар командалары екі кіріс операндынан негізгі логикалық функцияларды биттік есептеуге мүмкіндік береді. Сонымен қатар, операция және (AND) берілген биттерді мәжбүрлеп тазарту үшін қолданылады (операндтардың бірі ретінде тазартуды қажет ететін биттер нөлге орнатылған Маска коды қолданылады). Операция немесе (OR) берілген биттерді мәжбүрлеп орнату үшін қолданылады (операндтардың бірі ретінде маска коды қолданылады, онда бірлікке орнатуды қажет ететін биттер бірлікке тең). "Эксклюзивті НЕМЕСЕ" (XOR) операциясы берілген биттерді инверсиялау үшін қолданылады (операндтардың бірі ретінде инверсияға жататын биттер бірлікке орнатылған Маска коды қолданылады). Командалар екі кіріс операндын қажет етеді және бір шығыс операндын құрайды.


Ауысым командалары операнд кодын оңға (кіші разрядтарға қарай) немесе солға (жоғары разрядтарға қарай) биттік жылжытуға мүмкіндік береді. Сдысу түрі (логикалық, арифметикалық немесе циклдік) жоғарғы биттің (оңға сдысу кезінде) немесе төменгі биттің (солға сдысу кезінде) жаңа мәні қандай болатынын анықтайды, сонымен қатар алдыңғы биттің (солға сдысу кезінде) немесе төменгі биттің (оңға сдысу кезінде) бұрынғы мәні бір жерде сақталатынын анықтайды. Мысалы, Логикалық оңға жылжу кезінде операнд кодының жоғарғы разрядында нөл орнатылады, ал төменгі разряд процессор күйінің регистріне тасымалдау жалаушасы ретінде жазылады. Ал арифметикалық оңға жылжу кезінде жоғары разряд мәні өзгеріссіз қалады (нөл немесе бірлік), төменгі разряд тасымалдау жалауы ретінде де жазылады.


Циклдік ауысулар операнд кодының биттерін шеңбер бойымен жылжытуға мүмкіндік береді (оңға жылжу кезінде сағат тілімен немесе солға жылжу кезінде сағат тіліне қарсы). Бұл жағдайда переносысу сақинасына тасымалдау жалаушасы кіруі немесе кірмеуі мүмкін. Тасымалдау жалаушасының биті (егер ол қолданылса) солға циклдік сдысу кезінде үлкен биттің, ал оңға циклдік сдысу кезінде төменгі биттің мәнін жазады. Тиісінше, тасымалдау жалаушасының бит мәні солға циклдік сдысу кезінде төменгі разрядқа және оңға циклдік сдысу кезінде жоғары разрядқа қайта жазылады.


Бит пен операндты тексеру командалары таңдалған биттердің мәніне немесе жалпы операндқа байланысты процессор күйінің регистрінің биттерін орнатуға немесе тазартуға арналған. Командалар Шығыс операндын құрмайды. Операндты тексеру командасы (TST) операндтың барлық кодын тұтастай алғанда нөлдік теңдікке және белгіге (жоғарғы бит мәніне) тексереді, ол тек бір кіріс операндын қажет етеді. Битті тексеру пәрмені (BIT) тек жеке биттерді тексереді, оларды екінші операнд ретінде таңдау үшін маска коды қолданылады. Маска кодында негізгі операндтың тексерілетін биттері бірлік разрядтарына сәйкес келуі керек.


Соңында, процессордың күй регистрінің биттерін (яғни жалаушаларды) орнату және тазарту пәрмендері кез-келген жалаушаны орнатуға немесе тазартуға мүмкіндік береді, бұл өте ыңғайлы. Әр жалауша әдетте екі командаға сәйкес келеді, олардың біреуі оны бір-біріне орнатады, ал екіншісі оны нөлге түсіреді. Мысалы, C тасымалдау жалаушасы (Carry-ден) CLC (тазалау) және SEC немесе STC (орнату) командаларына сәйкес келеді.




Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет