Студопедия

КАТЕГОРИИ:

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


Префикстер.




Бұл – машиналық команданың міндетті емес элемент­тері. Олардың әр қайсысы 1 байттан тұруы мүмкін немесе болмауы да мүмкін. Жадыда префикстер команданың алдында болады. Префикстердің міндеті командамен орындалатын операцияны модификациялау (түрлендіру). Қолданбалы программа префикстің келесі түрлерін пайдалануы мүмкін:

- сегментті ауыстыру префиксі. Берілген командада стекті немесе деректерді адрестеу үшін, алдын ала болған келісім бойынша пайдаланылатын сегментер регистрінің орнына басқа сегментер регистрін айқын түрде көрсету үшін қолданылады;

- мекенжайдың разрядтылығының префиксі. Мекенжайдың разряд­тылығын анықтайды (32 немесе 16 разрядтық);

- операндтың разрядтылығының префиксі. Мекенжайдың разряд­тылығының префиксіне сәйкес, бірақ та командамен жұмыс жасайтын операндтың разрядтылығын көрсетеді;

- қайталау префиксі. Символдар қатарын өңдейтін командаларда қолданылады.

 
 

Тізбектің барлық элементтері өңделіп болғанша бұл префикс команданы қайталатады.

ОПК (операция кодасы). Бұл – машиналық команданың міндетті элементі. Команда орындайтын операцияны сипаттайды.

Машиналық команданың келесі өрістері операцияға қатысатын операнд­тардың мекенжайын және олардың қолдану ерекшеліктерін анықтайды.

Адрестеу режімінің байтыMOD R/M. Бұл байттың мәні қолданылатын операндтардың мекенжайының пішімін анықтайды.

Операндтар жадыда, бір немесе екі регистрде орналасуы мүмкін. Егер операнд жадыда орналасса, онда байт mod r/m эффективтік мекенжайды есептеу үшін қажет сыңарларды анықтайды. Ол сыңарларға жылжу аралығы, базалық немесе индекстік регистрлер жатады.

Қорғалған режімде операндтың жадыдағы орналасуын анықтау үшін қосымша sіb байты пайдалынады.

Байт mod r/m үш өрістен тұрады:

1) mod өрісі. Ол командадағы операндтың мекенжайы қанша байт орын алатынын анықтайды. mod өрісі r/m өрісімен бірге қолданылады және операндтың мекенжайын модификациялау тәсілін көрсетеді (командадағы жылжу аралығы). Эффективтік мекенжайды есептеуге базалық және (немесе) индекстік регистрлер қатысады. Нақты қандай регистрлер екенін осы mod r/m байты анықтайды;

2) reg/ОПК өрісі. Ол командадағы бірінші операнд орнында регистр немесе операция кодының кеңеймесін анықтайды;

3) r/m өрісі. Ол mod өрісімен бірге пайдалынады және командадағы бірінші операнд орнындағы регистрді (егер mod=11) немесе эффективтік мекенжайды есептеуге пайдалынатын базалық және индекстік регистрлерді анықтайды.

Масштаб-индекс-база байты.Масштаб-индекс-база байты (sіb байты) операндтарды адрестеу мүмкіндігін кеңейту үшін пайдаланылады.SІB байтының машиналық команданың ішінде бар екенін mod өрісінің 01 немесе 10 мәндері және r/m өрісінің 100 мәні білдіреді.

Байт sіb 3 өрістен тұрады:

1. ss масштаб өрісі. Бұл өрісте индекстік компонента іndex үшін масштабтық көбейткіш болады, ss өрісінде келесі мәндердің біреуі болады: 1, 2, 4, 8. Осылардың біреуі эффективтік мекенжайды есептегенде индекстік регистрдің ішіндегі мәнге көбейтіледі.

2. іndex өрісі индекстік регистрдің нөмірін сақтауға арналған, эффек­тив­тік мекенжайды есептегенде пайдаланылады.

3. base өрісі базалық регистрдің нөмірін сақтауға арналған, ол да эффек­тивтік мекенжайды есептегенде пайдаланылады.

Командадағы жылжу аралығының өрісі.Командадағы жылжу аралығының өрісі – 8, 16 немесе 32 разрядтық таңбалы бүтін сан. Ол операнд­тың эффективтік мекенжайының (толық немесе жартылай) мәнін көрсетеді.

Тікелей операнд өрісі.Бұл өріс – 8, 16 немесе 32 разрядтық тікелей операнд. Оның болуы mod r/m байтының мәнінде көрсетіледі. Міндетті емес өріс.

Мысалдар:

LOCK ADD FS:[EBX+8][ ESІ*4], 300000h

STD ; бағыт жалаушасын орнату - операция кодасы

Негізгі әдебиет:

1[34-40];

4[24-27];

7[126-129].

Бақылау сұрақтары 4

1. Тікелей адрестеу деген не?

2. Регистрлік адрестеу деген не?

3. Жадыны қалайша адрестеуге болады?

4. Енгізу – шығаруды адрестеу ?

5. Машиналық команданың құрылымы?

 

 

5 дәрістің тақырыбы:

Командалар типы.Деректерді жіберу командалары.

Командалар атқаратын қызметіне байланысты бірнеше топқа бөлінеді :

I. Алып-орналастыру командалары.

II. Арифметикалық командалар.

III. Жеке разрядтармен жұмыс істейтін командалар.

IV. Басқару тізгінін ауыстыру командалары.

V. Тізбектерді (символдар қатарын) өңдеу командалары.

VI. Санашықты басқару командалары.

VII. Үзу командалары.

 

 

 


Поделиться:

Дата добавления: 2015-01-05; просмотров: 163; Мы поможем в написании вашей работы!; Нарушение авторских прав





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