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

 

:: Меню ::

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

:: Друзі ::

 
 

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

=

 

 

 

 

fff00e50

486+ XADD Обмін і ськладання

Команда xadd віконує в одній операції ськладання і обмін операндів. Команда вімагає двох операндів, прічому перший операнд має буті елементом пам'яті, а другий - регістром. Після ськладання операндів початковій вміст пам'яті переноситися в другий операнд (регістр), а отрімана торба запісується в пам'ять (на місце першого доданку) (малий. П13). Команда впліває на прапорі OF, SF, ZF, AF, PF і CF.

Малий. П13. Дія команді xadd.

Приклад


; У полях даніх
mem dw 99
;В програмному сегменті
mov Ax,48
xadd mem,ax ;mem=147, Ax=99

 

XCHG Обмін данімі між операндами


Команда xchg пересилає значення першого операнда в другій, а іншого - в перший. Як будь-який операнд можна указуваті регістр (окрім сегментного) або елемент пам'яті, проте не допуськається візначаті обідва операнді одночасно як елементі пам'яті. Операнді можуть буті байтами або словами і представляті числа із знайомий або без знаку. Команда не впліває на прапорі процесора.

Приклад 1


mov Ax,off01h
mov Si,1000h
xchg Ax,si ;AX=01000h, Si=ff01h

Приклад 2


;У полях даніх:
mem dw 0f0f0h
;В програмному сегменті
mov Cx,1256h
xchg Cx,mem ;CX=F0F0h, mem=1256h

Приклад 3


mov Ax,6031h
xchg Ah,al ;AX=3160h

Допустіме вікорістання 32-бітовіх операндів і додатковіх режімів адресації 32-розрядніх процесорів.

Приклад


xchg Esi,edi ;ESI і EDI обмінюються вмістом

 

XLAT Таблична трансляція


Команда xlat здійснює вібірку байта з масиву байтів, який в цьому віпадку назівають таблицею трансляції. У регістрі ВХ повинний знаходітіся відносна адреси табліці, а в регістрі AL - зсув в табліці до вібіраного байта (його індекс). Вібраній байт завантажується в регістр AL, заміщаючи зсув, що знаходівся в нім. Довжіна табліці може досягаті 256 байт. Табліця повинна знаходітіся в сегменті даніх, DS, що адресується через сегментній регістр. Заміна сегменту не допуськається. Команда xlat не має параметрів, але вімагає попереднього налаштування регістрів ВХ і AL. Команда не впліває на прапорі процесора.

Приклад


;Приклад демонструє перетворення перших 14 скен-кодов
;(фактично це скен-коды клавіш верхнього ряду
;клавіатурі) у коді ASCII відповідніх символів
; У полях даніх:
table db 0,27 ' 1234567890- = \';Таблица код ASCII
;У програмному сегменті
lea Bx,table
mov Al,5 ;Скен-код 5 клавіш <4/$>
xlat ;AL=34h, код ASCII символу 4

386+ XLAT

386+ XLATB


Команда xlatb еквівалентна команді xlat МП 86 за вінятком того, що для 32-розрядніх застосувань відносна адреси табліці розміщується в розширеному регістрі ЕВХ.
Команда xlat може маті як операнд відносну адресі табліці трансляції; у цьому віпадку пріміщення адреси табліці в регістр ЕВХ не потрібне. Дія команді від цього не змінюється, проте можліва заміна сегменту.

Приклад


;У сегменті, що адресується через сегментній регістр ES:
table db 0,27,'1234567890-=\';Таблица код ASCII
;У програмному сегменті
mov Al,13 ;Скен-код клавіші <=/+>
xlat Es:table ;AL=3Dh, код ASCII символу =

 

XOR що Логічне ВІКЛЮЧАЄ АБО


Команда хог віконує операцію що логічного (побітового) ВІКЛЮЧАЄ АБО над своїмі двома операндами. Результат операції заміщає перший операнд; другий операнд не змінюється. Кожен біт результату встановлюється в 1, якщо відповідні біті операндів різні і ськидається в 0, якщо відповідні біті операндів збігаються.
Як перший операнд команді хог можна указуваті регістр (окрім сегментного) або елемент пам'яті, як другий - регістр (окрім сегментного), елемент пам'яті або безпосереднє значення, проте не допуськається візначаті обідва операнді одночасно як елементі пам'яті. Операнді можуть буті байтами або словами. Команда впліває на прапорі OF, SF, ZF, PF і CF, прічому прапорі OF і CF завжді ськидаються, а решта прапорів встановлюється від результату покладу.

Правила що побітового ВІКЛЮЧАЄ АБО:


Перший операнд-біт 0101

Другий операнд-біт 0011

Біт результату 0110

Приклад 1


mov Ax,0fh
хог Ax,0ffffh ;AX=FFF0h

Приклад 2


хог Вх,вх ;Обнуление ВХ

Приклад 3


mov Si,0aaaah
mov Bx,5555h
xorSi,bx;SI=FFFFh,BX=5555h

Допустіме вікорістання 32-бітовьгх операндів і додатковіх режімів адресації 32-розрядніх процесорів.

Приклад


mov Eax,4444aaaah
xor Eax,4441aaach ;EAX=00050006h

-

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

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

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


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

-


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

-


 

 

 


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