КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Префикстер.Бұл – машиналық команданың міндетті емес элементтері. Олардың әр қайсысы 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. Үзу командалары.
|