Знайте, Intuit лекция, инструкция система процесор

3.3.3. логическа команда

Логически команди работят на операнди логично (побитовото) операция, т.е. те не смятам операнди кодове като брой, както и набор от отделни битове. Това е различно от аритметични инструкции. Екип Пъзел изпълнява следните действия:

  • И логично, логично OR. модул 2 (XOR);
  • логично, аритметика и циклични смени;
  • проверка бита и операнди;
  • създаване и изчистването на бита (флагове) от регистъра на състоянието на процесора (ПДС).

логически операции команди позволяват един бит за изчисляване на основните логически функции на двата входни операнди. В допълнение, и операция (И) се използва да принуди почистване предварително определен бита (като се използва един от операндите където код маска, в която битове изисква почистване, настроен на нула). Операция ИЛИ (OR) се използва да принуди предварително определени битове (като един от операндите се използва при което кодът на маска, в която битове изисква инсталиране в единица е равна на единство). Операция "изключителна ИЛИ" (XOR) се използва за инверсия на предварително определени битове (като един от операндите в този код се използва маска, където битовете да бъдат инверсия, установен в единица). Команди изискват два входни операнди и един изход операнд форма.

команди за смяна позволяват малко изместен код операнд надясно (към LSB) или наляво (MSBs). тип отместване (логика, аритметика, или цикличен) определя каква ще бъде новата стойност на MSB (стриже вдясно) или LSB (вляво смяна), а също така определя дали някъде съхранява предишната стойност MSB (вляво срязване) или LSB (стриже вдясно). Например, когато логична смяна на правото в най-ниската цифра от кода на операнд се задава нула и LSB се записва като носене флаг в регистъра на състоянието на процесора. Преминаването към правото, когато средната аритметична стойност на най-младшия бит е съхранена непроменена (нула или един), LSB също е записан като знаме за носене.

Циклични промени позволяват бита кръгово променени (по часовниковата стрелка, когато измества надясно или обратно на часовниковата стрелка, когато олевяване) операнд код. В този случай, пръстен на срязване може или не може да включва флаг носене. Битът за носене на знамето (ако се използва) се записва, когато стойността на най-горния малко циклична смяна на ляво и най-маловажният бит на цикличния смяна на дясно. Съответно, стойността на флага за малко за прехвърляне да бъде пренаписана LSB на ляво, когато цикличен изместването на MSB в циклична смяна на дясно.

Например, фиг. 3.12 са дадени действия, извършени от изместване надясно.

Команди и контролни бита на операнди са предназначени за задаване или премахване на части от процесор държавния регистър на в зависимост от стойността на избраните битове или всички операнда като цяло. Изходна операнди команди не формират. Проверете команда операнд (ТКО) проверява всички кодът на операнд по принцип за равенство на нула и знака (стойността на най-важния бит), тя се нуждае само от един вход операнд. Command малко тест (BIT) проверява само отделни битове, за да изберете коя маска код се използва като втори операнд. В бита код маска може да се провери основната операнд трябва да отговарят отделните разряди.


Фиг. 3.12. превключва на правилния екип.

И накрая, инструкциите за монтаж и почистващи бита на регистъра на състоянието на процесора (т.е., знамена) ви позволяват да зададете или да изчистите всяко знаме, което е много удобно. Всеки флаг обикновено съответства на два отбора, единият от които са изброени в него до един, а другият се нулира. Например, флаг C (Продължете) трансферът ще се срещне CLC отбор (почистване) и Комисията по ценни книжа или (настройката) STC.

3.3.4. преход отбор

браншови инструкции са предназначени за организирането на всякакви линии, разклонения. подпрограми разговори и т.н. Тоест, те се прекъсне последователността на изпълнение на програмата. Тези команди са написани на програмата брояч registr- нова стойност и по този начин да предизвика преход към следващия процесор не е от порядъка на екипа и всеки друг отбор в паметта на програмата. Някои отбор преход дават още да се върнете към точката, от която е направена на прехода, а други не предвиждат това. Ако е предвидено възстановяването, текущите настройки се съхраняват в стека с процесор. Ако възстановяването не е предвидено, текущите настройки на процесора не се запаметяват.

преход команда без замяна са разделени в две групи:

  • Екип безусловни скокове;
  • условно на инструкции.

В отбелязването на тези отбори използва думата клон (разклонения) и скок (скок).

Условни разклонителни инструкции да причинят на прехода не винаги, но само когато посочените условия. В условия, като стойностите на знамето, в регистъра на състоянието на процесора обикновено действа (ПДС). Това е състояние на преход е резултат от предишната операция, променете стойността на знамената. Общ брой на такива условия преход може да бъде от 4 до 16. Няколко примера на инструкция за условно отклонение:

  • скочи, ако е равна на нула;
  • Направо ако не нула;
  • скочи, ако има преливане;
  • скочи, ако няма преливане;
  • скочи, ако по-голяма от нула;
  • Направо, ако по-малка или равна на нула.

Ако условието за преход е изпълнено, след което се процедира, за да заредите тезгяха програма в registr- нова стойност. Ако условието за преход не е доволен, програмата брояч е просто увеличава и избира процесор и изпълнява следната команда в ред.

По-специално за тестване на условията на преход прилагат сравнение инструкция (CMP), предхождащ на инструкция за условно отклонение (или дори повече от една инструкция за условно отклонение). Но флагове могат да бъдат зададени и други инструкции, за пренос на данни, например команда, всяка аритметична или логическа команда. Имайте предвид, че в отбора знамената на прехода се не се променят, че просто ви позволява да поставите някои пасажи от команди една след друга.

Споделянето на няколко екипа на условни и безусловни преходи позволява на процесора да изпълнява разклоняващи алгоритми с всякаква сложност. Например, фиг. 3.13 показва разклоняване програмата на два клона, последвано от съединението, и Фиг. 3.14 - разклонение в три клона, последвано от съединението.

преход екип с допълнително връщане до точката, от която е направена на прехода се прилага за извършване на рутинни процедури. т.е. програми за подпомагане. Тези команди се наричат ​​още команди подпрограма повикване (общо име - CALL). Използването на подпрограми за опростяване на основната структура на програмата, за да го направи по-логично, гъвкав, лесно да се напише и отстраняване на грешки. В същото време не трябва да забравяме, че широко разпространеното използване на подпрограми. като правило, тя увеличава издръжливостта на програмата.


Фиг. 3.13. Изпълнението на разклоняване на два клона.


Фиг. 3.14. Изпълнението на разклоняване на три части.

прекъсват команди в много случаи са по-удобни, отколкото обикновено екипа на прехода да се върне. Форма прекъсване вектор на маса може да бъде веднъж, а след това се отнасят към него, както е необходимо. Прекъсване брой съответства на подпрограмата. това е, номер функция, подпрограма. Ето защо, прекъсване на екипа е много по-вероятно да бъдат включени в командите система процесор в сравнение с конвенционалните отбор преход да се върнат.

За да се върнете от подпрограмата. причинени от прекъсване на екипа, екипът използва връщане от прекъсване (IRET или RTI). Тази команда извлича стойността на стека се съхранява в него, както и инструкция статус процесор брояч регистър (ПДС).

Имайте предвид, че някои процесори също са предоставени на екипа условни прекъсва, като команда за прекъсване на преливане.

Разбира се, в този раздел, ние разгледахме само основните команди общи за процесорите. По-специално процесор може да бъде, както и много други команди, които не принадлежат към изброените групи от команди. Но е необходимо да ги учат, след като сте избрали вида на процесора, която е подходяща за изпълнение на задачите на тази микропроцесорна система.