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

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

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

Текст из файла (страница 3)

также: уроки 9, 12 и команду bsfBSWAP(Byte SWAP)Перестановка байтовСхема команды:Назначение:bswap источник••изменение порядка следования байтов;переход от одной формы адресации к другой.Под формой адресации здесь понимается принцип "младший байт по младшему адресу"или обратный ему. Существует ряд систем, например использующих микропроцессорыMotorola или большие ЭВМ, где применяется принцип размещения многобайтовыхзначений обратный тому, который используется в микропроцессорах Intel. Поэтому этукоманду можно использовать для разработки программ-конверторов между подобнымиплатформами и IBM РС.СинтаксисАлгоритм работы: Схема алгоритмаСостояние флагов после выполнения команды:выполнение команды не влияет на флагиПрименение:Команду bswap используют для изменения формы адресации. В качестве операнда можетбыть указан только 32-разрядный регистр.

Эта команда используется в моделяхмикропроцессоров, начиная с i486..486movbswapebx,1a2c345fhhebx;ebx=5f342c1ahСм. также: урок 7, и команду xchgBT(Bit Test)Проверка битовbt источник,индексСхема команды:Назначение: извлечение значения заданного бита в флаг cf.СинтаксисАлгоритм работы:••получить бит по указанному номеру позиции в операнде источник;установить флаг cf согласно значению этого бита.Состояние флагов после выполнения команды:00CFrПрименение:Команду bt используют для определения значения конкретного бита в операнде источник.Номер проверяемого бита задается содержимым второго операнда (значение числом издиапазона 0...31).

После выполнения команды, флаг cf устанавливается в соответствии созначением проверяемого бита..386movebx,01001100hbtebx,8;проверкасостояния бита 8 и установка cf= в 1jcm1;перейти на m1,если проверяемый бит равен 1...См. также: уроки 9, 12 и команды btc, btr, bts, testBTC(Bit Test and Complement)Проверка бита с инверсией (дополнением)btc источник,индексСхема команды:Назначение: извлечение значения заданного бита в флаг cf и изменение его значения воперанде на обратное.СинтаксисАлгоритм работы:•••получить значение бита с номером позиции индекс в операнде источник;инвертировать значение выбранного бита в операнде источник;установить флаг сf исходным значением бита.Состояние флагов после выполнения команды:00CFrПрименение:Команда btс используется для определения и инвертирования значения конкретного битав операнде источник.

Номер проверяемого бита задается содержимым второго операндаиндекс (значение из диапазона 0...31). После выполнения команды флаг cfустанавливается в соответствии с исходным значением бита, то есть тем, которое было довыполнения команды..386movebx,01001100h;проверка состояния бита 8 и егообращение:btcebx,8;cf=1 иebx=01001000hСм. также: уроки 9, 12 и команды bt, btr, bts, testBTR(Bit Test and Reset)Проверка бита с его сбросом в 0btr источник,индексСхема команды:Назначение: извлечение значения заданного бита в флаг cf и изменение его значения нанулевое.СинтаксисАлгоритм работы:•••получить значение бита с указанным номером позиции в операнде источник;установить флаг cf значением выбранного бита;установить значение исходного бита в операнде в 0.Состояние флагов после выполнения команды:00CFrПрименение:Команда btr используется для определения значения конкретного бита в операндеисточник и его сброса в 0.

Номер проверяемого бита задается содержимым второгооперанда индекс (значение из диапазона 0...31). В результате выполнения команды флаг cfустанавливается в соответствии со значением исходного бита, то есть тем, что было довыполнения операции..386movebx,01001100h;проверка состояния бита 8 и его сбросв 0btrebx,8;cf=1 иebx=01001000hСм. также: уроки 9, 12 и команды bt, btc, bts, testBTS(Bit Test and Set)Проверка бита с его установкой в 1bts источник,индексСхема команды:Назначение: извлечение значения заданного бита операнда в флаг cf и установка этогобита в единицу.СинтаксисАлгоритм работы:•••получить значение бита с указанным номером позиции в операнде источник;установить флаг cf значением выбранного бита;установить значение исходного бита в операнде источник в 1.Состояние флагов после выполнения команды:00CFrПрименение:Команда bts используется для определения значения конкретного бита в операндеисточник и установки проверяемого бита в 1. Номер проверяемого бита задаетсясодержимым второго операнда индекс (значение из диапазона 0...31).

После выполнениякоманды флаг cf устанавливается в соответствии со значением исходного бита, то естьтем, что было до выполнения операции..386movebx,01001100h;проверка состояния бита 0 и егоустановка в 1btsebx,0;cf=0ebx=01001001hСм. также: уроки 9, 12 и команды bt, btc, btr, testCALL(CALL)Вызов процедуры или задачиСхема команды:Назначение:••call цельпередача управления близкой или дальней процедуре с запоминанием в стекеадреса точки возврата;переключение задач.СинтаксисАлгоритм работы:определяется типом операнда:•••••метка ближняя — в стек заносится содержимое указателя команд eip/ip и в этот жерегистр загружается новое значение адреса, соответствующее метке;метка дальняя — в стек заносится содержимое указателя команд eip/ip и cs.

Затем вэти же регистры загружаются новые значения адресов, соответствующие дальнейметке;r16, 32 или m16, 32 — определяют регистр или ячейку памяти, содержащиесмещения в текущем сегменте команд, куда передается управление. При передачеуправления в стек заносится содержимое указателя команд eip/ip;указатель на память — определяет ячейку памяти, содержащую 4 или 6-байтныйуказатель на вызываемую процедуру. Структура такого указателя 2+2 или 2+4байта. Интерпретация такого указателя зависит от режима работымикропроцессора:в реальном режиме — в зависимости от размера адреса (use16 или use32) первыедва байта трактуются как сегментный адрес, вторые два/четыре байта, как•смещение целевой метки передачи управления.

В стеке запоминается содержимоерегистров cs и eip/ip;в защищенном режиме — интерпретация цели передачи управления зависит отзначения байта AR дескриптора, определяемого селекторной частью указателя.Целью здесь являются дальний вызов процедуры без изменения уровняпривилегий, дальний вызов процедуры с изменением уровня привилегий илипереключение задачи.Состояние флагов после выполнения команды (кроме переключения задачи):выполнение команды не влияет на флагиПри переключении задачи значения флажков изменяются в соответствии с информацией орегистре eflags в сегменте состояния TSS задачи, на которую производится переключение.Применение:Как видно из описания алгоритма, команда call позволяет организовать гибкую имноговариантную передачу управления на подпрограмму с сохранением адреса точкивозврата.

Подробно типовые примеры использования рассмотрены на уроках 10 и 14.См. также: уроки 10, 14 и команду retCBW/CWDE(Convert Byte to Word/Convert Word to Double Word Extended)Преобразование байта в слово/слова в двойное словоcbwcwdeНазначение: расширение операнда со знаком.Схема команды:СинтаксисАлгоритм работы:cbw — при работе команда использует только регистры al и ax:•анализ знакового бита регистра al:o если знаковый бит al=0, то ah=00h;o если знаковый бит al=1, то ah=0ffh.cwde — при работе команда использует только регистры ax и eax:•анализ знакового бита регистра ax:o если знаковый бит ax=0, то установить старшее слово eax=0000h;o если знаковый бит ax=1, то установить старшее слово eax=0ffffh.Состояние флагов после выполнения команды:выполнение команды не влияет на флагиПрименение:Данные команды используются для приведения операндов к нужной размерности сучетом знака.

Такая необходимость может, в частности, возникнуть припрограммировании арифметических операций..386;только для cwde, cwd была дляi8086movebx,10fecd23hmovax,-3;ax=1111 11111111 1101cwde;eax=1111 1111 11111111 1111 1111 1111 1101addeax,ebxСм. также: урок 8 и команды cdq, cwdCLC(CLear Carry flag)Сброс флага переносаclcСхема команды:Назначение: сброс флага переноса cf.СинтаксисАлгоритм работы:установка флага cf в ноль.Состояние флагов после выполнения команды:00CF0Применение:Данная команда используется для сброса флага cf в ноль. Такая необходимость можетвозникнуть при работе с командами сдвига, арифметическими командами либодействиями по индикации обнаружения ошибок и различных ситуаций в программе.clc;cf=0См.

также: уроки 8, 9 и команды cmc, stcCLD(CLear Direction flag)Сброс флага направленияcldСхема команды:Назначение: сброс в ноль флага направления df.СинтаксисАлгоритм работы:установка флага df в ноль.Состояние флагов после выполнения команды:10DF0Применение:Данная команда используется для сброса флага df в ноль. Такая необходимость можетвозникнуть при работе с цепочечными командами. Нулевое занчение флага df вынуждаетмикропроцессор при выполнении цепочечных операций производить инкрементрегистров si и di.cld;df=0См. также: урок 11 и команды stc, movs/movsb/movsw/movsd,cmps/cmpsb/cmpsw/cmpsd, scas/scasb/scasw/scasd,lods/lodsb/lodsw/lodsd, stos/stosb/stosw/stosd,ins/insb/insw/insd, outsCLI(CLear Interrupt flag)Сброс флага прерыванияcliСхема команды:Назначение: сброс флага прерывания if.СинтаксисАлгоритм работы:установка флага if в ноль.Состояние флагов после выполнения команды:09IF0Применение:Данная команда используется для сброса флага if в ноль.

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

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

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

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