Главная » Просмотр файлов » Описание системы команд

Описание системы команд (1110646)

Файл №1110646 Описание системы команд (Семинары)Описание системы команд (1110646)2019-04-28СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла

Описание системы командмикропроцессоров IntelМатериал, приведенный в данном разделе справочной системы, связан с уроком 6, накотором мы рассматривали формат машинной команды микропроцессора и систему егокоманд в целом.Выберите тему:Знакомство с порядком описания команд и принятыми обозначениямиОписание команд микропроцессора, упорядоченное по алфавитуОписание команд микропроцессора, упорядоченное по функциональному признакуaaaaadaamaasadcaddandboundbsfbsrbswapbtbtcbtrbtscallcbwcwdeclccldclicmccmpcwdcdqdaadasdecdiventerhltidivimulinincins/insb/insw/insdintintoiret/iretdjccjcxzjecxzjmplahfldsleslfslgslsslealeavelgdtlidtlods/lodsb/lodsw/lodsdlooploopeloopzloopneloopnzmovmovs/movsb/movsw/movsdmovsxmovzxmulnegnopnotoroutoutspoppopapopadpopfpopfdpushpushapushadpushfpushfdrclrcrrep/repe/repz/repne/repnzret/retfrolrorsahfsalsarsbbscas/scasb/scasw/scasdsetccsgdtsidtshlshldshrshrdstcstdstistos/stosb/stosw/stosdsubtestxaddxchgxlat/xlatbxorcmps/cmpsbcmpxchg/cmpsw/cmpsdПорядок описания команд будет следующим:•••••название команды с расшифровкой ее мнемонического обозначения — этооблегчит процесс запоминания и последующего использования команды всоответствии с ее функциональным назначением;синтаксическое описание команды, поясняющее возможные сочетания операндовдля данной команды.

При этом сложные синтаксические описания будутприведены в виде синтаксических диаграмм, что позволит в наиболее компактнойформе изобразить все возможные сочетания операндов;состояние флагов после выполнения команды;описание типового применения команды с примером и (или) ссылка на урок, вкотором демонстрируется пример применения команды;номера занятий и приложений, а также список команд, которые функциональносвязаны с данной командой.Для описания команд приняты обозначения:1. Для описания состояния флагов после выполнения некоторой команды будемиспользовать выборку из таблицы, отражающей структуру регистра флагов eflags:31 18 17 16 15 14 1312 11 10 09 08 07 06 05 04 03 02 01 000 0 VM RF 0 NT IOPL OF DF IF TF SF ZF 0 AF 0 PF 1 CF2. В нижней строке этой таблицы приводятся значения флагов после выполнениякоманды.

При этом используются следующие обозначения:o 1 — после выполнения команды флаг устанавливается (равен 1);o 0 — после выполнения команды флаг сбрасывается (равен 0);o r — значение флага зависит от результата работы команды;o ? — после выполнения команды флаг не определен;o пробел — после выполнения команды флаг не изменяется;3. Для представления операндов в синтаксических диаграммах используютсяследующие обозначения:o r8, r16, r32 — операнд в одном из регистров размером байт, слово илидвойное слово;o m8, m16, m32, m48 — операнд в памяти размером байт, слово, двойное словоили 48 бит;o i8, i16, i32 — непосредственный операнд размером байт, слово или двойноеслово;o a8, a16, a32 — относительный адрес (смещение) в сегменте кода.4. На многих диаграммах в целях компактности возможные сочетания операндовпоказаны в виде следующей конструкции:Конструируя команду на основе подобной синтаксической диаграммы, вы должныпомнить о соответствии типов.

В подобной диаграмме допустимы толькоследующие сочетания: "r8, m8", "r16, m16", "r32, m32". Например, сочетание "r8,m16" недопустимо. Однако есть единичные случаи, когда подобные сочетаниявозможны; тогда они специально оговариваются.5. Описанная в данном приложении система команд в полном объеме поддерживаетсямикропроцессором Pentium.

Предыдущие модели микропроцессора могут неподдерживать отдельные команды. Чтобы прояснить этот момент, мы будемуказывать в примерах для каждой команды директиву типа .286. Это будетозначать, что описываемая команда поддерживается всеми моделямимикропроцессора, начиная с i286. Если ничего не указывается, то это означает, чтоданная команда работает на всех моделях микропроцессоров Intel, начиная сi8086/8088.AAA(Ascii Adjust after Addition)ASCII-коррекция после сложенияaaaСхема команды:Назначение: корректировка неупакованного результата сложения двух одноразрядныхнеупакованных BCD-чисел.СинтаксисАлгоритм работы:••проанализировать значение младшего полубайта регистра al и значение флага af;если (значение младшего полубайта регистра al >9) или (AF=1), то выполнитьследующие действия:o увеличить значение al на 6;o очистить старший полубайт регистра al;o увеличить значение ah на 1;o установить флаги: af = 1, cf = 1,иначе сбросить флаги af = 0 и cf = 0.Состояние флагов после выполнения команды:11 07 06 04 02 00OF SF ZF AF PF CF???r?rПрименение:Обычно команда aaa используется после сложения каждого разряда распакованных BCDчисел командой add.

Каждая цифра неупакованного BCD-числа занимает младшийполубайт байта. Если результат сложения двух одноразрядных BCD-чисел больше 9, точисло в младшем полубайте результата не есть BCD-число. Поэтому результат нужнокорректировать командой aaa. Эта команда позволяет сформировать правильное BCDчисло в младшем полубайте и запомнить единицу переноса в старший разряд путемувеличения содержимого регистра ah на 1.К примеру, сложить два неупакованных BCD-числа: 08 + 05:movah,08h ;ah=08hmoval,05h ;al=05haddal,ah;al=al+ah=05h+08h=0dh — не BCD-числоxorah,ah;ah=0aaa;ah=01h,al=03h— результат скорректированСм. также: урок 8, приложение 7 и команды aad, aam, aas, daa, dasAAD(Ascii Adjust before Division)ASCII-коррекция перед делениемaadСхема команды:Назначение:••подготовкa двух неупакованных BCD-чисел для операции деления;преобразование двузначного неупакованного ВCD-числа меньшего 63h (9910) вдвоичное представление.СинтаксисАлгоритм работы:•••умножить значение регистра ah на 10 и сложить полученное значение ссодержимым регистра al: (ah*10)+al;присвоить регистру al значение (ah*10)+al;обнулить регистр ah.Состояние флагов после выполнения команды:11 07 06 04 02 00OF SF ZF AF PF CF?rrrr?Применение:Команду aad используют для подготовки двузначного неупакованного BCD-числа врегистре ax для операции деления.

Так как в системе команд микропроцессора неткоманды деления для BCD-чисел, такое число нужно предварительно преобразовать вдвоичный вид. Для этого старший разряд двузначного BCD-числа помещается в регистрah, умножается на 10 и складывается с разрядом единиц двузначного BCD-числа 9 врегистре al. В результате этих действий и получается соответствующее двоичное число врегистре ax.

Далее в программе уже можно применять обычную команду деления div,оперирующую двоичными данными. Команду aad можно применять и просто дляпреобразования неупакованного двузначного BCD-числа в его двоичный эквивалент. Естьеще интересный момент — если посмотреть на коды символов шестнадцатеричных цифрв таблице ASCII, то видно, что они похожи на BCD-числа. Исключение составляет лишьзначение старшей тетрады (для BCD-числа это так называемая зона с нулевым значением)- оно равно 3.

Можно сделать вывод, что если предварительно обнулить значение старшейтетрады для кодов двух символов (от 0 до 9), то эту команду вполне можно применять идля преобразования двузначных десятичных чисел в символьном представлении в ихдвоичный эквивалент, что и отражено в названии команды. Для иллюстрации рассмотримдва примера.Пример 1. Разделить десятичное число 18 на 9. Подготовить результат к выводу на экран.movah,01h ;ah=01hmoval,08h ;al=08h =>ax=0108hmovbl,09;bl=09haаd;al=12h —двоичный эквивалент десятичного числа18divbl;al=02h,ah=00hогal,30h ;al=32h —ASCII-представление числа 2, можновыводить на экранПример 2.

Преобразовать десятичное число 16 в символьном виде в эквивалентноедвоичное число.movax,3136h;ax=3136handax,0f0fh;ax=0106haаd;al=10h —получили его двоичный эквивалентСм. также: уроки 3, 8, приложение 7 и команды aaa, aam, aas, daa, dasAAM(Ascii Adjust after Multiply)ASCII-коррекция после умноженияСхема команды:Назначение:••aamкорректировка результата умножения двух неупакованных BCD-чисел;преобразование двоичного числа меньшего 63h (9910) в его неупакованный BCDэквивалент.СинтаксисАлгоритм работы:••разделить значение регистра al на 10;записать частное в регистр ah, остаток — в регистр al.Состояние флагов после выполнения команды:11 07 06 04 02 00OF SF ZF AF PF CF?rrrr?Применение:Команду aam используют для коррекции результата умножения двух неупакованныхBCD-чисел.

Специальной команды умножения BCD-чисел нет. Поэтому BCD-числаумножаются поразрядно, как обычные двоичные числа, командой mul. Максимальноечисло, которое получается при таком умножении, — это 9*9=8110=5116. Отсюда понятно,что значения, для которых командой aam можно получить их двузначный BCDэквивалент в регистре ax, находятся в дипазоне от 00h до 51h. Эту команду можноприменять и для преобразования двоичного числа из регистра ax (в диапазоне от 0 до 63h)в его десятичный эквивалент(соответственно, из диапазона от 0 до 9910).Пример 1. Умножить десятичное число 8 на 9.

Характеристики

Тип файла
PDF-файл
Размер
1,53 Mb
Материал
Тип материала
Высшее учебное заведение

Тип файла PDF

PDF-формат наиболее широко используется для просмотра любого типа файлов на любом устройстве. В него можно сохранить документ, таблицы, презентацию, текст, чертежи, вычисления, графики и всё остальное, что можно показать на экране любого устройства. Именно его лучше всего использовать для печати.

Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.

Список файлов семинаров

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6372
Авторов
на СтудИзбе
309
Средний доход
с одного платного файла
Обучение Подробнее