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

 

:: Меню ::

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

:: Друзі ::

  По желанию клиента Проститутки Нижневартовска для всех и каждого.   По низкой цене купить мужские кроссовки недорого с большими скидками.   По реальным ценам дом из бруса без дополнительной оплаты.
 

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

=

 

 

 

 

fff00e50

ADC Цілочисельне складання з перенесенням

Команда adc здійснює складання першого і другого операндів, прібаатяя до результату значення прапора перенесення CF. Початкове значення першого операнда (приймача) втрачається, заміщаючись результатом складання. Другий операнд не змінюється. Як перший операнд команди adc можна указувати регістр (окрім сегментного) або елемент пам'яті, як другий - регістр (окрім сегментного), елемент пам'яті або безпосереднє значення, проте не допускається визначати обидва операнди одночасно як елементи пам'яті. Операнди можуть бути байтами або словами і представляти числа із знаком або без знаку. Команда adc (спільно з командою add) зазвичай використовується для складання 32-розрядних чисел. Команда впливає на прапори OF, SF, ZF, AF, PF і CF.

Приклад 1


mov Ax,1125h

adc Ax,2c25h ;AX=3D4Bh, якщо CF був = 1

;Ax=3d4ah, якщо CF був= 0

Приклад 2


; У полях даних:
numlow dw 0ffffh ;Младшая частина 2-го доданку
numhigh dw 000sh ;Старшая частина 2-го доданку
;Число 0005FFFFh=393215
;В програмному сегменті:
mov Ax,000sh ;Младшая частина 1-го доданку
mov Bx,0002h ;Старшая частина 1-го доданку
;Число 00020005h=131077
add Ах,numlow ;Сложение молодших частин. Ах=4, Cf=1
adc BX, numhigh ;Сложение старших частин з
;перенесенням.ВХ:АХ=0008:0004h.
;Число 00080004h=524292

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

Приклад


; У полях даних
mem321 dd 0ffffffffh ;Младшая частина 1-го доданку
mem32h dd 98765432h ;Старшая частина 1-го доданку
; У програмному сегменті
mov Eax,1 ;Младшая частина 2-го доданку
mov Ebx,0 ;Старшая частина 2-го доданку
add Eax,mem321 ;Складываем молодші половини
;Сумма=100000000ь>32 битий
;Eax=000000h, перенесення
adc Ebx,mem32h ;Складываем старші половини
;і перенесення. Ebx=90000001h ;Сумма: 9876543300000000h

 

ADD Цілочисельне складання


Команда add здійснює складання першого і другого операндів. Початкове значення першого операнда (приймача) втрачається, заміщаючись результатом складання. Другий операнд не змінюється. Як перший операнд команди add можна указувати регістр (окрім сегментного) або елемент пам'яті, як другий - регістр (окрім сегментного), ячей-ку пам'яті або безпосереднє значення, проте не допускається опре-делять обидва операнди одночасні як елементи пам'яті. Операнди можуть бути байтами або словами і представляти числа із знаком або без знаку. Команду add можна використовувати для складання як звичайних цілих чи-сел, так і двійково-десяткових (з використанням регістра АХ для хра-ненія результату). Якщо складаються неупаковані двоїчно- десятіч-ниє (BCD) числа, після команди add слід використовувати команду ааа; якщо складаються упаковані числа, то команду daa. Команда впливає на прапори OF, SF, ZF, AF, PF і CF.

Приклад 1


mov Bx,lffeh

mov Cx,3

add Bx,cx ;BX=2001h, Cx=0003h

Приклад 2


mov Ax,25h

add Ax,12h ;AX=0037h

Приклад 3


; У полях даних:

mem dw 128

;B програмному сегменті:

add mem,100 ;mem=228

Приклад 4


mov Ax,0507h ;BCD розпаковане 57

 add Al,05h ;BCD 5, Ax=050ch 

aaa ;AX=0602h, BCD 62

 

Приклад 5


mov Al,57h ;BCD упаковане 57

 add Al,05h ;BCD 5, Al=5ch 

daa ;AL=62h, BCD 62

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

Приклад


mov Eax,98765432h

add Eax,11111111h ; Eax=a9876543h



AND Логічне І


Команда and здійснює логічне (побітове) множення першого операнда на другій. Початкове значення першого операнда (приймача) втрачається, заміщаючись результатом множення. Як перший операнд команди and можна указувати регістр (окрім сегментного) або елемент пам'яті, як другий - регістр (окрім сегментного), елемент пам'яті або безпосереднє значення, проте не допускається визначати обидва операнди одночасно як елементи пам'яті. Операнди можуть бути байтами або словами. Команда впливає на прапори SF, ZF і PF.
Правила побітового множення:


Перший операнд-біт 0101
Другий операнд-біт 0011
Біт результату 0001

Приклад 1
mov Ax,0ffeh
and Ax,5555h ;AX=0554h

Приклад 2
; У полях даних:
mem dw 0с003h
;В програмному сегменті:
mov Ax,700eh
and Ax,mem ;AX=4002h

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

Приклад
mov EDX, 0FA8 8 0 0 4 lh
and Edx,0ff00000fh ; EDX = Fa000001h

 

386p+ ARPL
Корекція запрошуваного рівня привілеїв селектора


Команда aprl порівнює селектор із зразком, що містить максимально допустимий рівень привілеїв (зазвичай використовується селектор CS) і встановлює значення, що перевіряється, відповідно до меншого з двох рівнів привілеїв. Якщо зміну рівня не було потрібно, прапор ZF скидається, якщо було потрібно - встановлюється. Як перший операнд команди aprl може використовуватися 16-розрядний регістр або слово пам'яті з селектором, що перевіряється; як другий операнд - 16-розрядний регістр з селектором-зразком.

 

386+ BOUND
Перевірка індексу масиву на вихід за межі масиву


Команда bound перевіряє, чи лежить вказаний індекс, що розглядається, як число із знаком, усередині заданих другим операндом меж.
Якщо індекс виходить за межі масиву знизу або зверху, генерується переривання з вектором 5. Перший операнд має бути регістром, що містить індекс, що перевіряється, другий, - адресою поля пам'яті з двома межами масиву, що перевіряється. У команді bound допустиме використання як 16-бітових, так і 32-бітових операндів (але і перший, і другий операнди мають бути одного типу).

-

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

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

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


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

-


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

-


 

 

 


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