/  
 ДОКУМЕНТІВ 
20298
    КАТЕГОРІЙ 
30
Про проект  Рекламодавцям  Зворотній зв`язок  Контакт 

Програмування на мові Асемблер, Детальна інформація

Тема: Програмування на мові Асемблер
Тип документу: Реферат
Предмет: Комп`ютерні науки
Автор: Олексій
Розмір: 0
Скачувань: 911
Скачати "Реферат на тему Програмування на мові Асемблер"
Сторінки 1   2   3   4   5   6   7   8   9  
Приклад



push ax ; занести ax , bx , dx в стек

push bx

push dx

; - тут знаходиться програма

pop dx ; вийняти dx, bx , ax із стека.

pop bx

pop ax

Тут зрозуміло ,що команди між push i pop будуть використовувати регістри ax. bx i dx;

тому для збереження початкових значень вони проштовхуютья в стек . Потім ці ж регістри у зворотньому порядку виштовхуються із стека відновлюються початкові значення і підтримуючи стек в правильному стані ( состоянии ).

Перестановка даних ( команда 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 цього не потрібно .

Сторінки 1   2   3   4   5   6   7   8   9  
Коментарі до даного документу
Додати коментар