欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

匯編語言AND指令實(shí)現(xiàn)對兩個(gè)操作數(shù)進(jìn)行邏輯(按位)與操作

 更新時(shí)間:2020年01月19日 14:11:45   作者:Java入門基礎(chǔ)教程  
這篇文章主要介紹了匯編語言AND指令實(shí)現(xiàn)對兩個(gè)操作數(shù)進(jìn)行邏輯(按位)與操作,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

AND 指令在兩個(gè)操作數(shù)的對應(yīng)位之間進(jìn)行(按位)邏輯與(AND)操作,并將結(jié)果存放在目標(biāo)操作數(shù)中:

AND destination,source

下列是被允許的操作數(shù)組合,但是立即操作數(shù)不能超過 32 位:

AND reg, reg
AND reg, mem
AND reg, imm
AND mem, reg
AND mem, imm

操作數(shù)可以是 8 位、16 位、32 位和 64 位,但是兩個(gè)操作數(shù)必須是同樣大小。兩個(gè)操作數(shù)的每一對對應(yīng)位都遵循如下操作原則:如果兩個(gè)位都是 1,則結(jié)果位等于 1;否則結(jié)果位等于 0。

下表展示了兩個(gè)輸入位 X 和 Y,第三列是表達(dá)式 X^Y 的值:

X Y X^Y
0 0 0
0 1 0
1 0 0
1 1 1

AND 指令可以清除一個(gè)操作數(shù)中的 1 個(gè)位或多個(gè)位,同時(shí)又不影響其他位。這個(gè)技術(shù)就稱為位屏蔽,就像在粉刷房子時(shí),用遮蓋膠帶把不用粉刷的地方(如窗戶)蓋起來。

例如,假設(shè)要將一個(gè)控制字節(jié)從 AL 寄存器復(fù)制到硬件設(shè)備。并且當(dāng)控制字節(jié)的位 0 和位 3 等于 0 時(shí),該設(shè)備復(fù)位。那么,如果想要在不修改 AL 其他位的條件下,復(fù)位設(shè)備,可以用下面的指令:

and AL, 11110110b             ;清除位 0 和位 3 ,其他位不變

如,設(shè) AL 初始化為二進(jìn)制數(shù) 1010 1110,將其與 1111 0110 進(jìn)行 AND 操作后,AL 等于 1010 0110:

mov al,10101110b
and al, 11110110b    ;AL 中的結(jié)果 = 1010 0110

標(biāo)志位

AND 指令總是清除溢出和進(jìn)位標(biāo)志位,并根據(jù)目標(biāo)操作數(shù)的值來修改符號標(biāo)志位、零標(biāo)志位和奇偶標(biāo)志位。比如,下面指令的結(jié)果存放在 EAX 寄存器,假設(shè)其值為 0。在這種情況下,零標(biāo)志位就會置 1:

and eax,1Fh

將字符轉(zhuǎn)換為大寫

AND 指令提供了一種簡單的方法將字符從小寫轉(zhuǎn)換為大寫。如果對比大寫 A 和小寫 a 的 ASCII 碼,就會發(fā)現(xiàn)只有位 5 不同:

0  1  1  0  0  0  0  1 = 61h ('a')
0  1  0  0  0  0  0  1 = 41h ('A')

其他的字母字符也是同樣的關(guān)系。把任何一個(gè)字符與二進(jìn)制數(shù) 1101 1111 進(jìn)行 AND,則除位 5 外的所有位都保持不變,而位 5 清 0。下例中,數(shù)組中所有字符都轉(zhuǎn)換為大寫:

  .data  array BYTE 50 DUP(?)  .code      mov ecx,LENGTHOF array      mov esi,OFFSET

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • asm基礎(chǔ)——匯編指令之in/out指令

    asm基礎(chǔ)——匯編指令之in/out指令

    這篇文章主要介紹了asm基礎(chǔ)——匯編指令之in/out指令,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • 匯編語言環(huán)境搭建軟件與教程

    匯編語言環(huán)境搭建軟件與教程

    這篇文章主要介紹了匯編語言環(huán)境搭建軟件與教程,需要的朋友可以參考下
    2020-01-01
  • UEFI開發(fā)基礎(chǔ)HII代碼示例

    UEFI開發(fā)基礎(chǔ)HII代碼示例

    這篇文章主要為大家介紹了UEFI開發(fā)基礎(chǔ)HII代碼示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • DEBUG命令詳解教程

    DEBUG命令詳解教程

    DEBUG命令詳解教程...
    2007-03-03
  • 匯編實(shí)現(xiàn)冒泡排序的方法示例

    匯編實(shí)現(xiàn)冒泡排序的方法示例

    這篇文章主要介紹了匯編實(shí)現(xiàn)冒泡排序的方法示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • 匯編高效乘法運(yùn)算的具體使用方法

    匯編高效乘法運(yùn)算的具體使用方法

    在匯編語言中,乘法指令通常是通過mul(無符號乘法)和imul(有符號乘法)這兩個(gè)指令實(shí)現(xiàn)的,本文就來詳細(xì)的介紹一下匯編高效乘法運(yùn)算,感興趣的可以了解一下
    2024-03-03
  • 匯編語言 寄存器內(nèi)存訪問原理解析

    匯編語言 寄存器內(nèi)存訪問原理解析

    這篇文章主要介紹了匯編語言 寄存器內(nèi)存訪問原理解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • 匯編實(shí)現(xiàn)簡單選擇排序的方法示例

    匯編實(shí)現(xiàn)簡單選擇排序的方法示例

    這篇文章主要介紹了匯編實(shí)現(xiàn)簡單選擇排序的方法示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • Windows10下利用DOSBOX和MASM32搭建匯編語言開發(fā)環(huán)境

    Windows10下利用DOSBOX和MASM32搭建匯編語言開發(fā)環(huán)境

    這篇文章主要介紹了Windows10下利用DOSBOX和MASM32搭建匯編語言開發(fā)環(huán)境,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-01-01
  • UEFI開發(fā)實(shí)戰(zhàn)用戶交互界面使用說明UNI文件

    UEFI開發(fā)實(shí)戰(zhàn)用戶交互界面使用說明UNI文件

    這篇文章主要為大家介紹了UEFI開發(fā)實(shí)戰(zhàn)用戶交互界面使用說明UNI文件,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06

最新評論