 |
::
Меню :: |
 |
|
|
 |
::
Друзі :: |
 |
|
|
 |
::
Лічильники :: |
 |
|
|
|
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-бітовій елемент пам'яті.
-
|
 |
::
Наша кнопка :: |
 |
|
 |
Отримати код:
|
Підтримайте наш сайт і розмістіть нашу
кнопку на своєму ресурсі. |
|
|
 |
::
Популярне :: |
 |
|
|
 |
:: Посилання :: |
 |
|
|
|