Зворотний зв'язок

Програмування на мові Асемблер

Перестановка даних ( команда xchg)

Команда xchg -міняє місцями значення двох регістрів або значення регістра з байтом або словом , яке зберігається в пам’ яті .

Приклад

Нехай , ми хочемо переставити значення в регістрах dx i ax. Використовуючи xchg , можна

записати :

xchg ax , dx ; ax  dx ; dx  ax

( порядок операндів не грає ролі )

Інакше , для перестановки двох 16 - бітових регістрів , можна використати менш ефективний метод який використовує стек як поміжкове місце збереження одного з значень.

push ax ; стек  ax

mov ax,dx , ax  dx

pop dx ; dx  ( стек початкове значення ax ).

Приклад

Для перестановки двох 8 - бітових значень необхідний третій регістр , так як в стек можна проштовхувати , виштовхувати тільки 16 - бітні слова .

Щоб переставити два байти в al i ah, не використовучи xchg потрібно записати:

mov bh, ah ; bh  ah

mov ah, al ; ah  al

mov al, bh ; al  bh

При використанні xchg цього не потрібно .

Приклад

Крім перестановки значень регістрв , xchg також може міняти місцями значення врегістрі

з значенням , яке зберігається :

1) xchg ax,[ things ] ; ax  [ things ]

2) xchg [ oldCount ],cx ; cx  [ oldCount ]

Команди для роботи з рядкамиКоманди для роботи з рядками можуть служити для обробки всіх типів даних, а не тільки символьних рядків. В Асемблері рядки є послідовностями байтів, які можуть або представляти, або не представляти ASCII-символи. Рядкові команди діляться на три групи:


Реферати!

У нас ви зможете знайти і ознайомитися з рефератами на будь-яку тему.







Не знайшли потрібний реферат ?

Замовте написання реферату на потрібну Вам тему

Замовити реферат