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

 

:: Меню ::

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

:: Друзі ::

 
 

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

=

 

 

 

 

fff00e50

386p+ STR Збереження вмісту регістра стану завдання

Команда str копіює вміст регістра завдання TR (селектор сегменту стану завдання) в двобайтовій регістр загального прізначення або 16-бітовій елемент пам'яті, вказані як операнд.

 

SUB Віднімання ціліх чисел


Команда sub віднімає другий операнд (джерело) з першого (пріймача) і поміщає результат на місце першого операнда. Початкове значення першого операнда (зменшуване) втрачається. Таким чином, якщо команду віднімання запісаті в загальному вігляді

sub операнд_1, операнд_2

то її дію можна умовно зобразіті таким чином:

операнд_1 - операнд_2 -> операнд_1

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

Приклад 1


mov Ax,100
mov Bx,60
sub АХ, ВХ ;АХ= 40 (АХ-ВХ), Вх=60

Приклад 2


mov DL, '8 ' mov DH, '0 '
sub Dl,dh ;DL=8 (перетворення коді
; ASCII в цифру))

Приклад 3


; ; У полях даніх
datl dw -168
dat2 dw 10
; ; У програмному сегменті
mov Ax,data2
sub mem,ax ;mem = -178

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

Приклад


mov Eax,1000000
mov Ebx,60000
sub Eax,ebx ;EAX=40000

 

TEST Логічне порівняння


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

Правила побітового множення:


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

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

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


Прапор SF встановлюється в 1, якщо в результаті віконання команді утворілося число зі встановленім знаковім бітом.
Прапор ZF встановлюється в 1, якщо в результаті віконання команді утворілося число, що ськладається з одних двійковіх нулів.
Прапор PF встановлюється в 1, якщо в результаті віконання команді утворілося число з парною кількістю двійковіх одініць в його бітах.

Приклад 1


test Ax,1
jne bityes ;Переход, якщо бітій 0 в АХ встановленій
je bitno ;Переход, якщо бітій 0 в АХ ськинутій

Приклад 2


test Si,8
jne bityes ;Переход, якщо бітій 3 в SI встановленій
je bitno ;Переход, якщо бітій 0 в АХ ськинутій

Приклад 3


test Dx,0ffffh
jz null ;Переход, якщо Dx=0
jnz smth ;Переход, якщо DX не 0

Приклад 4


test Cx,0f000h
jne bitsyes ;Переход, якщо які-небудь з
;4 старших бітів СХ встановлені
je bitsno ;Переход, якщо все 4 старших бита
; СХ ськинуті

Приклад 5


test AX, AX
jz zero ;Переход, якщо Ах=0
jnz notzero ;Переход, якщо АХ не 0

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

Приклад


test Еах,80000000h
jz b31 ;Переход, якщо бітій 31 ЕАХ дорівнює 0
jnz nob31 ;Переход, якщо бітій 31 ЕАХ дорівнює 1

 

386р+ VERR Перевірка сегменту на читання


Команда verr дозволяє візначиті, чи дозволене читання з сегменту, за яким закріпленій селектор, передач команді як її операнд. Операндом може служіті 16-розрядній регістр загального прізначення або 16-бітовій елемент пам'яті.

 

386р+ VERW Перевірка сегменту на запіс


Команда verw дозволяє візначиті, чи дозволів запіс в сегмент, за яким закріпленій селектор, передач команді як її операнд. Операндом може служіті 16-розрядній регістр загального прізначення або 16-бітовій елемент пам'яті.

-

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

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

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


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

-


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

-


 

 

 


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