xor SI, BX
;SI=FFFFh, BX=5555h
4-misol
mov BX, BX
;BX qayta tiklanmoqda
TEST (Mantiqiy solishtirish)
buyrug‘i
ikkita operandda mantiqiy
ko‘paytirish AND amalini bajaradi va natijaga qarab SF, ZF va PF belgilanishlarni
o‘rnatadi. OF va CF belgilanishlari o‘chiriladi va AF aniqlanmagan. Keyin shartli
o‘tish ko‘rsatmalari yordamida belgilanishlarning holatini tahlil qilish mumkin.
TEST ko‘rsatmasi hech qaysi operandni o‘zgartirmaydi. TEST buyrug‘ining
birinchi operandi registr (segmentdan tashqari) yoki xotira katakchasi bo‘lishi
mumkin, ikkinchi operand registr (segmentdan tashqari),
xotira katakchasi yoki
tezkor qiymat bo‘lishi mumkin, lekin uni aniqlashga ruxsat berilmaydi.
Ikkala
operand ham bir vaqtning o‘zida xotira sifatida operandlar bayt yoki so‘z bo‘lishi
mumkin va imzolangan yoki imzosiz raqamlarni ifodalaydi.
Bit bo‘yicha ko‘paytirish qoidalari:
Birinchi operand biti 0101
Natija biti 0 001
Ikkinchi operand biti 0011
SF bayrog‘i 1 o‘rnatiladi, agar buyruq bajarilishi belgi biti o‘rnatilgan
raqamga olib kelsa. ZF bayrog‘i 1 o‘rnatiladi, agar buyruq bajarilishi natijasida faqat
ikkilik nollardan iborat raqam paydo bo‘lsa. PF 1 o‘rnatiladi, agar buyruq bajarilishi
natijasida uning bitlarida juft sonli ikkilik raqamlar mavjud bo‘lsa.
1-misol
test AX, 1
jne label 2 : ;Agar AX-da 0 bit o‘rnatilgan bo‘lsa, o‘tish
je label 1 : ;Agar AX dagi 0 biti tozalangan bo‘lsa, o‘tish
Umumiy misol
.model tiny
;ma’lumotlar va stek segmentlari birlashtirilgan
xotira modeli.
.code
; ma’lumotlarni o‘z ichiga olgan kod segmenti.
org 100h
; COM
faylining boshlanishi
begin:
; dastur kodini boshlash belgisi
3-misol
test DX, 0FFFFh
jz null
;DX=0 bo‘lsa, sakrash
jnz smth
;Agar DX 0 boʻlmasa, oʻtish