OR командасы
OR командасы (логикалық НЕМЕСЕ) екі операндтың логи- калық (биттік) қосу амалын орындайды. Нәтиженің мәні бірінші операндты алмастырады, ал екінші операнд өзгеріссіз қалады. Бірінші операнд ретінде регистрді немесе жады ұяшығын, ал екіншісі ретінде регистрді (сегменттіктен басқа), жады ұяшығын немесе тікелей мәнін көрсетуге болады, бірақ бір мезгілде екі операндты жады ұяшығы ретінде анықтауға болмайды. OR ко- мандасының операндтары байт немесе сөздер болады. Команда келесі флагтарға әсер етеді: OF, SF, ZF, PF, CF, мұнда CF және OF флагтары әрқашан нөлге айналады.
141
Бұл командалар регистрде немесе жадыда бір байтты немесе бір сөзді өңдейді және келесі флагтарды CF, OF, PF, SF, ZF орнатады.
AND командасы
AND командасы (логикалық ЖӘНЕ) бірінші операндты екін- шісіне логикалық (биттік) көбейтуді орындайды. Берілген бірін- ші операндтың мәні (қабылдаушының) көбейтінің мәнімен ал- мастырылады. And командасының бірінші операнды ретінде ре- гистрді (сегменттіктен басқа) немесе жады ұяшығын, ал екінші- сі ретінде регистр (сегменттіктен басқа) немесе жады ұяшығын немесе тікелей мәнін көрсетуге болады, бірақ екі операндты да жады ұяшықтары ретінде көрсетуге болмайды. Операндтар байт немесе сөздер болады. Команда келесі: SF, ZF және PF флагта- рына әсер етеді.
Биттік көбейтудің ережесі:
Бірінші операнд-бит 0101
|
Нәтиже биті 0001
|
Екінші операнд-бит 0011
| |
142
Биттік қосу ережесі
1 операнд-биті 0101
|
Нәтиженің биті 0111
|
2 операнд-биті 0011
| | - мысал
mov AX,000Fh mov BX,00F0h
or AX,BX; AX=00FFh, BX=00F0h
- мысал
mov AX,00101001b mov BX,11110111b
or AX,BX ; mov dx,11111111b
- мысал
mov AX,000Fh
or AX,8001h ; AX=800Fh
Достарыңызбен бөлісу: |