Студопедия

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника



Басқару тізгінін шартқа байланысты ауыстыру командалары




Читайте также:
  1. Айталамалық ығыстыру командалары
  2. Айталаманы басқару командалары
  3. Алып-орналастыру командалары
  4. Еңбек ауырлығы мен қауірттілігіне байланысты өндірістік шудың ШРЕД -і, дБА
  5. Жұмысқа қабілетті халықты (ер адамдарды) дене жұмысына белсенділік коэффицентіне байланысты топтарға бөлу
  6. Жалаушаларды көшіріп жазу командалары
  7. Көбейту командалары
  8. Коммуникацияның басқару құралы ретінде мәні мен мазмұнын ашыңыз 1 страница
  9. Коммуникацияның басқару құралы ретінде мәні мен мазмұнын ашыңыз 10 страница

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

§ таңбасы бар операндтар арасындағы қарым-қатынасты, яғни үлкен (greater) - кіші (less);

§ таңбасыз операндтар арасындағы қарым-қатынасты, яғни жоғары (above) - төмен (below);

§ ZF, SF, CF, OF және PF арифметикалық жалаушаларының қалып-күйін.

Шартты өту (көшу) командаларының пішімі:

Jcc өткел_тамғасы

Бұл жерде, J әрпі jump (өту,көшу) сөзінен алынған, ал cc – команда талдау жүргізетін белгілі бір шарт, өткел_тамғасы – ағымдағы кода сегментінің ішінде жатқан тамға (мұнда сегментаралық басқару тізгінін беру көзделмеген).

Командада тексерілетін шартты СС арқылы белгілеу командалар белгісін жаттауды және оларды программа жазу кезінде пайдалануды жеңілдетеді.

Басқару тізгінін шартқа байланысты ауыстыру командаларын былайша бөлуге болады:

- салыстыру командасының нәтижесі бойынша өту командалары;

- белгілі бір жалаушаның қалып-күйі бойынша өту командалары;

- ECX/CX регистрінің мәні бойынша өту командалары.

Салыстыру командасының нәтижесі бойынша өту (көшу)

Бұл командалардың алдында міндетті түрде CMP салыстыру командасы орындалады. CMP командасы екі операндты салыстырады, операндтардың мәнін өзгертпейді, тек салыстыру нәтижесі бойынша жалаушаларды орнатады.

Өту (көшу) командалар атауының құрамына кіретін (СС әріптеріне сәйкес келетін) саластыру нәтижесінің қысқартулары 8-кестеде келтірілген.

CMP командасы орындалған кезде орнатылатын жалаушаларға мынадай шартты өту (көшу) командалары талдау жасайды (10-кесте): JE, JNE, JL/JNGE, JLE/JNG, JG/JNLE, JGE/JNL, JB/JNAE, JBE/JNA, JA/JNBE және JAE/JNB. Қиғаш сызық арқылы команданың баламасы берілген.



5-кесте
Шартты белгі Ағылшын Қазақ Операнд түрі
E Equal Тең Кез келген
N Not Жоқ Кез келген
G Greater Үлкен Таңбасы бар сан
L Less Кіші Таңбасы бар сан
A Above Жоғары Таңбасыз сан
B Below Төмен Таңбасыз сан

 

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

Мысалы: M1: …

CMP BX,N ; егер BX=N болса, онда М1 тамғалы

JE M1 ; командаға басқару тізгінін беру

Белгілі бір жалаушаның қалып-күйі бойынша өту (көшу)

Бұл командалардың атауы J символынан басталады, екіншісі – жалауша атының (CF, PF, ZF, SF, OF) бірінші әрпі (C, P, Z, S, O) немесе N символы (9-кесте).



  6-кесте
Жалауша Шартты белгі Жалауша аты eflags/flags регистріндегі биттің нөмірі
CF C Тасымал жалаушасы
PF P Жұптық жалауша
ZF Z Нөлдік жалауша
SF S Таңбалық жалауша
OF O Толып кету жалаушасы

 

Егер өту (көшу) командасының екінші символы N болмаса, онда жалаушаның мәні тексеріледі және егер ол 1-ге тең болса, онда программаның тамға тұрған командасына басқару тізгіні беріледі. Егер өту (көшу) командасының екінші символы N болса, онда жалаушаның мәні тексеріледі және егер ол 0-ге тең болса, онда программаның тамға тұрған командасына басқару тізгіні беріледі. Басқаша жағдайларда программаның өту (көшу) командасынан кейін тұрған командасы орындалады.

Жалаушаның қалып-күйі бойынша өту (көшу) командаларына мына­лар жатады (10-кесте): JC, JP, JZ, JS, JO, JNC, JNP, JNZ, JNS және JNO.

Басқару тізгінін шартқа байланысты ауыстыру командаларының алдында жалаушалар регистрінің разрядтарының мәнін өзгертетін кез келген команда болуы мүмкін, бірақ әдетте CMP командасы қолданылады. Мысалы:

ZERO: …

CMP AL,BL



JZ ZERO

ECX/CX регистрінің мәні бойынша өту (көшу)

Шағынпроцессорда ECX/CX регистрі санауыш міндетін атқарады. Бұл регистрді өту (көшу) командаларында да пайдалануға болады. ECX/CX регистрінің мәні бойынша өту (көшу) командаларының пішімі:

JCXZ өткел_тамғасы

JECXZ өткел_тамғасы

JCXZ (jump іf cx іs zero) –егер CX нөл болса, онда өту (көшу) операциясы орындалады (10-кесте).

JECXZ (jump equal ecx zero) – егер ECX нөл болса, онда өту (көшу) операциясы орындалады.

Бұл командаларды қайталама (cycle) ұйымдастыру және символдар қатарымен жұмыс істеу кезінде пайдаланған ыңғайлы.


Дата добавления: 2015-01-05; просмотров: 27; Нарушение авторских прав







lektsii.com - Лекции.Ком - 2014-2021 год. (0.01 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты