Assembler proqramlaşdırma dili

XCHG və BSWAP (i80486) əmrləri

XCHG və BSWAP (i80486) əmrləri

XCHG əmri ilə operandların yerini dəyişdirmək olar və əmr ümumi şəkildə

XCHG operand_1, operand_2

kimi yazılır. Əmr icra olunduqda operand_2-nin məzmunu ilə operand_1-in məzmunu yerini dəyişdirlir. Operandların məzmunu bayt, söz və ya ikiqat söz ola bilərXCHG əmri, seqment registrləri müstəsna olmaqla, iki registr, registr və dəyişən (yaddaş xanası) üzərində əməliyyat apara bilər. Məsələn:

1. XCHG AX, BX

AX və BX registrlərin məzmunu dəyişdirilir.

2. XCHG AL, C

C dəyişəninnin qiyməti ilə AL registrinin məzmunu dəyişdirilir.

3. XCHG AX, WORD PTR [ SI]

AX registrinin məzmunu ilə SI registri ilə təyin olunmuş söz uzunluğunda yaddaş xanasının məzmunu dəyişdirilir.

1. XCHG C2, AX

AX registrinin məzmunu ilə söz uzunluqlu C2 dəyişəninin məzmunu dəyişdirilir.

2. XCHG EAX, EBX

EBX registrinin məzmunu ilə EAX registrinin məzmunu dəyişdirilir.

BSWAP (i80486) əmri 32 bitlik registrdə baytlar sırasını çevirir. Əmr icra olunduqdan sonra 0-7 bitləri (kiçik sözün kiçik baytı) ilə 24-31 bitlərinin (böyük sözün böyük baytı), 8-15 bitləri ilə isə 16-23 bitlərinin yerini dəyişdirir. Ümumi şəkildə əmr aşağıdakı kimi yazılır:

BSWAP 32_mərtəbəli registr

Məsələn:

MOV EAX, 12345678h

BSWAP EAX

Bu əmrlər icra olunduqdan sonraEAX-in məzmunu 78563412 kimi olacaq.