Все про Assembler українською мовою на сайті net.kr.ua

 

:: Меню ::

Головна
Введення
Архітектура реального режиму
Основи програмування
Команди і алгоритми
Розширені можливості сучасних мікропроцесорів
Система команд процесорів Intel
Книга для гостей
Контакти
Добавити у вибране

:: Друзі ::

 
 

:: Лічильники ::

=

 

 

 

 

fff00e50

386+ LEAVE Вихід з процедури високого рівня

Команда leave виконує дії, протилежні діям останньої команди enter. Вона логічно знищує створений командою enter стековий кадр зі всіма локальними змінними, що містяться в нім, і готує стек до виконання команди irct, що завершує перехід в зухвалу процедуру. Команда leave не має параметрів. Докладніший опис і приклад див. в описі команди enter.

 

LES Завантаження покажчика з використанням регістра ES


Команда les прочитує з пам'яті за вказаною адресою подвійне слово (32 битий), що містить покажчик (повна адреса деякого осередку), і завантажує молодшу половину покажчика (тобто відносна адреса) у вказаний в команді регістр, а старшу половину покажчика (тобто сегментна адреса) в регістр ES. Таким чином, команда

les reg,mem

еквівалентна наступній групі команд:

mov reg,word ptr mem

 mov Es,word ptr mem+2

Як перший операнд команди les указується регістр загального призначення; як другий - елемент пам'яті з двухсловним вмістом. Покажчик, що міститься в цьому осередку, може бути адресою як процедури, так і поля даних. Команда не впливає на прапори процесора.

Приклад 1


;У полях даних:
addr dd myproc ;Двухсловный адреса процедури
;myproc
;В програмному сегменті:
les Si,addr ;ES:SI ® myproc

Приклад 2


;У полях даних:
mem dw 25 ;Ячейка пам'яті з
;довільним вмістом
addr dd myproc ;Двухсловный адреса цього осередку
;У програмному сегменті:
mov Bx,offset addr ;ВХ=адрес осередки addr
.
les DX [BX] ; Dх=смещеніє осередку mem
;Еs=сегментний адреса осередку mem

Приклад 3


;У полях даних:
dptr dd procl ;Полный адреса процедури prod
dd proc2 ;Полный адреса процедури ргос2
dd ргосз ;Полный адреса процедури ргосз
;У програмному сегменті:
mov SI, 8 ;Смещение до адреси ргосз
les Di,dptr[SI];ES:DI -> ргосз

Допустиме використання 32-розрядного регістра-приймача і 32-бітового зсуву в пам'яті, а також додаткових режимів адресації 32-розрядних процесорів. У захищеному режимі замість сегментної адреси сегменту виступає його селектор.


LFS Завантаження покажчика з використанням регістра FS

LGS Завантаження покажчика з використанням регістра FS

LSS Завантаження покажчика з використанням регістра FS


Команди прочитують з пам'яті повний покажчик, що складається з селектора і 16-бітового або 32-бітового зсуву, і завантажують молодшу половину покажчика (тобто відносна адреса) у вказаний в команді регістр загального призначення, а старшу половину покажчика (тобто селектор) в сегментний регістр, вказаний в мнемоніці команди.
Як перший операнд всіх перерахованих команд указується 16- або 32-розрядний регістр загального призначення; як другий - елемент пам'яті з 32- або 48-бітовим вмістом. Команда не впливає на прапори процесора.
Приклади див. в описі команд Ids і les.

-

:: Наша кнопка ::

Отримати код:

Підтримайте наш сайт і розмістіть нашу кнопку на своєму ресурсі.


:: Популярне ::

-


:: Посилання ::

-


 

 

 


Copyright © net.kr.ua, 2019-2025 (assem.us)