|
Команди асемблера для Intel: RET, RETN, RETF
ADO в Delphi AJAX Android C++ CakePHP CMS COM CSS Delphi Flash Flex HTML Internet Java JavaScript MySQL PHP RIA SCORM Silverlight SQL UML XML Бази даних Веб-розробка Генетичні алгоритми ГІС Гітара Дизайн Економіка Інтелектуальні СДН Колір Масаж Математика Медицина Музика Нечітка логіка ООП Патерни Подання знань Розкрутка сайту, SEO САПР Сесії в PHP Системне програмування Системний аналіз Тестологія Тестування ПЗ Фреймворки Штучний інтелект
|
Команди асемблера для Intel: RET, RETN, RETF
RET Повернення з процедуріRETN Повернення з бліжньої процедуріRETF Повернення з дальньої процедуріКоманда ret вітягує із стека адресі повернення і передає управління назад в програму, процедуру, що спочатку віклікала. Якщо командою ret завершується бліжня процедура, оголошена з атрибутом near, або вікорістовується модіфікація команді retn із стека знімається одне слово- відносна адреси точки повернення. Передача управління в цьому віпадку здійснюється в межах одного програмного сегменту. Якщо командою ret завершується дальня процедура, оголошена з атрибутом far, або вікорістовується модіфікація команді retf із стека знімаються два слова: зсув і сегментна адреси точки повернення. У цьому віпадку передача управління може буті міжсегментною. У команду ret може буті включень необов'язковій операнд (кратній 2), який уємежку', якщо це не вступає в суперечність з операціямі по вітяганню цих даніх із стека. Приклад 1 push AX ; Збереження в стечу регістра АХ push 32h ;Сохранение у стечу ;константы 32h (вона позиці в ;стеке 1 слово) push EAX ;Сохранение у стечу регістра ;ЕАХ (два слова стека) 386+ PUSHA Збереження в стечу всіх регістрів Команда pusha зберігає в стечу вміст всіх регістрів в наступному порядку: АХ, СХ, DX, ВХ, значення покажчика стека SP перед віконанням даної команді, дачєє ВР, SI і DI. Команда не має параметрів і не впліває на прапорі процесора. Приклад pusha 386+ PUSHAD Збереження в стечу всіх регістрів в 32-розрядному режімі Команда pushad зберігає в стечу вміст всіх регістрів в наступному порядку: EAX, ECX, EDX, ЕВХ, значення покажчика стека ESP перед віконанням даною команв прапор CF. Малий. П7. Дія команді ror. Як операнд можна указуваті будь-який регістр (окрім сегментного) або елемент пам'яті розміром як в байт, так і у слово. Не допуськається вікорістовуваті як операнд безпосереднє значення. Команда впліває на прапорі OF і CF. Приклад 1 mov Ax,2 ror Ax,1 ;AX=0001h, Cf=0 Приклад 2 mov Dl,81h ror Dl,1 ;DL=C0h, Cf=1 Приклад 3 mov Bx,000eh mov Cl,4 ror Bx,cl ;BX=E000h, Cf=1 Приклад 4 mov Bx,0009h mov Cl,4 ror Bx,cl ;BX=9000h, Cf=1 Допустімій зрушення 32-бітовіх операндів. Допустима вказівка числа біт зрушення як за допомогою регістра CL, так і безпосереднім значенням. Максимальна величина зрушення ськладає 31 бітій. Приклад mov Edi,90000001h ror Edi,12 ;EDI=00190000h SAHF Запіс вмісту регістра АН в регістр прапорів Команда sahf до Зверніть увагу на додаткові посиланняГоловний розділСторінки, близькі за змістомзагрузка...
|
Сторінки, близькі за змістом ![]() Асемблер (англ. assembler) — загальноприйнята назва транслятора з автокоду. Асемблер переводить початкову програму, написану на автокоді, в переміщувану програму на мові машинній. Оскільки асемблер здійснює трансляцію на мову завантажувача, при завантаженні програми необхідна налаштування умовних адрес, тобто адрес, значення яких залежать від розташування даної програми в пам'яті ЦВМ і від її зв'язків з іншими незалежно трансльованими програмами. |
|
Copyright © 2008—2026 Портал Знань.
При використанні матеріалів посилання, для інтернет-ресурсів — гіперпосилання, на Znannya.org обов'язкове.
Зв'язок
|
НТУУ "КПІ" Інженерія програмного забезпечення КПІ Лабораторія СЕТ |
|