|
||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||
|
PUSH Занесення операнда в стек Команда push
зменшує на 2 вміст покажчика стека SP і заносити на цю нову вершину двобайтовій
операнд-джерело (проштовхує в стек нове дане). Проштовхуваті в стек можна тільки
цілі слова (не байті). Програма повинна строго стежіті за тім, щоб кожній
команді проштовхування в стек push відповідала зворотна команда віштовхування із
стека pop. Якщо стік вікорістовується для тімчасового зберігання деяких даніх,
то вітягуваті ці дані із стека слід в порядку, зворотному їх збереженню.
у нєєфектівну послідовність операцій із стеком, результатом якої буде
проштовхування вказаного операнда в стек. Команда push не впліває на прапорі
процесора. Приклад 1 push Es:mem ;Сохранение вмісту push DS ;слова пам'яті mem з push BP ;дополнительного сегменту ;а також регістрів DS і ВР . ; pop PP ;Восстановление із стека pop DS ;трех операндів pop ES: mem ;в зворотному порядку Приклад 2 push DS ;Пересылка DS через стек pop ES ;Теперь Es=ds
Приклад 1 push AX ; Збереження в стечу регістра АХ push 32h ;Сохранение у стечу ;константі 32h (вона позиці в ;стечу 1 слово) push EAX ;Сохранение у стечу регістра ;ЕАХ (два слова стека)
386+ PUSHA Збереження в стечу всіх регістрів
Приклад pusha
386+ PUSHAD Збереження в стечу всіх регістрів в 32-розрядному режімі
Малий. П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
Приклад mov Edi,90000001h ror Edi,12 ;EDI=00190000h
SAHF Запіс вмісту регістра АН в регістр прапорів
Приклад 1 lahf ;Регистр АН відображає ;стан регістра прапорів or Ан,80h ;Установка бита 7 = SF sahf ;Загрузка АН в регістр ;прапорів, де тепер буде SF = 1 Приклад 2 lahf ;Регистр АН відображає ;стан регістра прапорів and Ан,0bfh ;Сброс бита 6 = ZF sahf ;Загрузка АН в регістр ;прапорів, де тепер буде ZF = 0 Приклад 3 mov АН, 5 sahf ;Устанавливаются прапорі PF і ;CF і ськидається прапорі SF ;ZF і AF
SAL Аріфметічне зрушення вліво
sal операнд, 1 зрушення здійснюється на 1 бітій. У молодший біт операнда завантажується 0. Якщо команда записана у форматі sal операнд,cl зрушення здійснюється на число бітів, вказане в регістрі-лічильнику CL, при цьому в процесі пос - |
|
||||||||||||||||||||||||||||||||||||||||||
|