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

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

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

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

Заметим, что недопустимо восстановление значения всегментный регистр cs.my_proc procnearpushaxpushbx;тело процедуры, в которой изменяетсясодержимое;регистров ax и bx...popbxpopaxretendpСм. также: уроки 7, 10, 14, 15, 16, 17 и команды popa, popad, popf, popfd, push, pusha,pushad, pushf, pushfdPOPA(POP All general registers from the stack)Извлечение всех регистров общего назначения из стекаpopaСхема команды:Назначение: извлечение из стека регистров общего назначения di, si, bp, sp, bx, dx, cx, ax.СинтаксисАлгоритм работы:••извлечь из стека последовательно значения и загрузить ими регистры общегоназначения di, si, bp, sp, bx, dx, cx, ax.

Содержимое di восстанавливается первым.Содержимое sp извлекается, но не восстанавливается;увеличить значение указателя стека esp/sp на 16.Состояние флагов после выполнения команды:выполнение команды не влияет на флагиПрименение:Команда popa по принципу работы является обратной команде pusha и используется длявосстановления содержимого всех регистров общего назначения значениями из стека. Этукоманду можно использовать в процедурах и программах обработки прерываний длявосстановления регистров общего назначения прерванной программы..386my_proc procnearpusha;тело процедуры, в которой изменяется;содержимое регистров общего назначения...poparetendpСм. также: уроки 7, 10, 14, 15, 16, 17 и команды pop, popad, popf, popfd, push, pusha,pushad, pushf, pushfdPOPAD(POP All general Double word registers from the stack)Извлечение всех 32-разрядных регистров общего назначения из стекаpopadСхема команды:Назначение: извлечение из стека регистров общего назначения edi, esi, ebp, esp, ebx, edx,ecx, eax.СинтаксисАлгоритм работы:••извлечь из стека последовательно значения и загрузить ими 32-разрядные регистрыобщего назначения edi, esi, ebp, esp, ebx, edx, ecx, eax.

Содержимое ediвосстанавливается первым. Содержимое esp извлекается но не восстанавливается;увеличить значение указателя стека esp на 32.Состояние флагов после выполнения команды:выполнение команды не влияет на флагиПрименение:Команда popad по принципу работы является обратной команде pushad и используется длявосстановления всех 32-разрядных регистров общего назначения.

Эту команду можноиспользовать в процедурах и программах обработки прерываний для восстановлениярегистров общего назначения прерванной программы..386my_proc procnearpushad;тело процедуры, в которой изменяется;содержимое регистров общего назначения...popadretendpСм. также: уроки 7, 10, 14, 15, 16, 17 и команды pop, popa, popf, popfd, push, pusha,pushad, pushf, pushfdPOPF(POP Flags register from the stack)Извлечение регистра флагов из стекаpopfСхема команды:Назначение: извлечение из стека слова и восстановление его в регистр флагов flags.СинтаксисАлгоритм работы:••извлечь из вершины стека слово и поместить его в регистр flags;увеличить значение указателя стека esp на 2.Состояние флагов после выполнения команды:14 1312 11 10 09 08 07 06 04 02 00NT IOPL OF DF IF TF SF ZF AF PF CFrrrrrrrrrrrПрименение:Команда popf по принципу работы является обратной команде pushf и используется длявосстановления из стека содержимого регистра флагов eflags. Возможным вариантомиспользования этой команды являются программы обработки прерываний или другиеслучаи, в которых необходимо сохранять некоторый локальный контекст процессавычисления.

Из-за того, что регистр eflags/flags непосредственно недоступен, командаpopf является одной из немногих возможностей влияния на его содержимое.;установить значение регистра flags в03hmovax,3hpushaxpopfСм. также: уроки 7, 10, 14, 15, 16, 17 и команды pop, popa, popad, popfd, push, pusha,pushad, pushf, pushfdPOPFD(POP eFlags Double word register from the stack)Извлечение расширенного регистра флагов из стекаpopfdСхема команды:Назначение: извлечение из стека двойного слова и восстановление его в регистр флаговeflags.СинтаксисАлгоритм работы:••извлечь из вершины стека двойное слово и поместить его в регистр eflags;увеличить значение указателя стека esp на 4.Состояние флагов после выполнения команды:17 16 14 1312 11 10 09 08 07 06 04 02 00VM RF NT IOPL OF DF IF TF SF ZF AF PF CF0rrrrrrrrrrrrПрименение:Команда popfd по принципу работы является обратной командой команде pushfd ииспользуется для восстановления из стека содержимого регистра флагов eflags.Необходимо отметить, что команда popfd не влияет на состояние флагов vm и rf..386;установить значение регистра eflags в03hmoveax,3hpusheaxpopfdeax;установитьновое значение eflagsСм.

также: уроки 7, 10, 14, 15, 16, 17 и команды pop, popa, popad, popf, push, pusha,pushad, pushf, pushfdPUSH(PUSH operand onto stack)Размещение операнда в стекеpush источникСхема команды:Назначение: размещение содержимого операнда источник в стеке.СинтаксисАлгоритм работы:••уменьшить значение указателя стека esp/sp на 4/2 (в зависимости от значенияатрибута размера адреса — use16 или use32);записать источник в вершину стека (адресуемую парой ss:esp/sp).Состояние флагов после выполнения команды:выполнение команды не влияет на флагиПрименение:Команда push используется совместно с командой pop для записи значений в стек иизвлечения их из стека.

Размер записываемых значений — слово или двойное слово.Также в стек можно записывать непосредственные значения. Заметьте, что в отличие откоманды pop в стек можно включать значение сегментного регистра cs. Другойинтересный момент связан с регистром sp. Команда push esp/sp записывает в стекзначение esp/sp по состоянию до выдачи этой команды. В микропроцессоре i8086 по этойкоманде записывалось скорректированное значение sp.

При записи в стек 8-битныхзначений для них все равно выделяется слово или двойное слово (в зависимости от use16или use32).my_proc procnearpushaxpushbx;тело процедуры, в которой изменяетсясодержимое;регистров ax и bx...popbxpopaxretendpСм. также: уроки 7, 10, 14, 15, 16, 17 и команды pop, popa, popad, popf, popfd, pusha,pushad, pushf, pushfdPUSHA(PUSH All general registers onto stack)Размещение всех регистров общего назначения в стекеpushaСхема команды:Назначение: размещение в стеке регистров общего назначения в следующейпоследовательности: ax, cx, dx, bx, sp, bp, si, di.СинтаксисАлгоритм работы:••уменьшить значение указателя стека esp/sp на 32/16 (в зависимости от значенияатрибута размера адреса — use16 или use32);включить в стек последовательно значения регистров общего назначения ax, cx, dx,bx, sp, bp, si, di.Содержимое di при этом будет на вершине стека.

В стек помещается содержимое sp посостоянию до выполнения команды.Состояние флагов после выполнения команды:выполнение команды не влияет на флагиПрименение:Команда pusha используется совместно с командой popa для сохранения и восстановлениявсех регистров общего назначения. Эти команды удобно использовать при работе спроцедурами, программами обработки прерываний, а также в других случаях длясохранения и восстановления регистров общего назначения как части контекстанекоторого вычислительного процесса.my_proc procnearpusha;тело процедуры, в которой изменяется;содержимое регистров общего назначения...poparetendpСм.

также: уроки 7, 10, 14, 15, 16, 17 и команды pop, popad, popf, popfd, push, popa,pushad, pushf, pushfdPUSHAD(PUSH All general Double word registers onto stack)Размещение всех регистров общего назначения в стекеpushadСхема команды:Назначение: размещение в стеке регистров общего назначения в следующейпоследовательности: eax, ecx, edx, ebx, esp, ebp, esi, edi.СинтаксисАлгоритм работы:••уменьшить значение указателя стека esp на 32;включить в стек последовательно значения регистров общего назначения eax, ecx,edx, ebx, esp, ebp, esi, edi. Содержимое edi при этом будет на вершине стека.Содержимое esp включается по состоянию на момент, предшествовавшийвыполнению данной команды.Состояние флагов после выполнения команды:выполнение команды не влияет на флагиПрименение:Команда pushad используется совместно с командой popad для сохранения ивосстановления всех регистров общего назначения.

Эти команды используютсяаналогично командам popa и pusha..386my_proc procnearpushad;тело процедуры, в которой изменяется;содержимое регистров общего назначения...popadretendpСм. также: уроки 7, 10, 14, 15, 16, 17 и команды pop, popa, popf, popfd, push, pusha, popad,pushf, pushfdPUSHF(PUSH Flags register onto stack)Размещение регистра флагов в стекеpushfСхема команды:Назначение: размещение в вершине стека (ss:sp) содержимого регистра флагов flags.СинтаксисАлгоритм работы:••уменьшить значение указателя стека sp на 2;поместить в вершину стека содержимое регистра flags.Состояние флагов после выполнения команды:выполнение команды не влияет на флагиПрименение:Команда pushf может использоваться для получения содержимого регистра флагов.

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

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

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

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