1樓:匿名使用者
or是按位「或」操作,當且僅當兩運算元對應位都為「0」時結果相應位為「0」,否則結果相應位為「1」。
例:1101b or 0100b = 1101band是按位「與」操作,當且僅當兩運算元對應位都為「1」時結果的相應位為「1」,否則結果相應位為「0」。
例:1101b and 0100b = 0100bmov al,1 ;0001b送al
or al,2 ;0001b or 0010b 結果送al 即(al0)=0011b=3
這兩條命令執行後的結果是什麼(al)=3
2樓:謙者無敵
or指令對目的運算元和源運算元進行或運算,結果存在目的運算元中.
and指令對目的運算元和源運算元進行與運算,結果存在目的運算元中.
and舉例:字元的大小寫轉化'a'->'a'
mov al,'a'
and 01000001b
a的ascii 為97 al= 01100001and 01000001
al = 01000001
得到65 即 'a'的ascii碼
or舉例:字元的大小寫轉化'a'->'a'
mov al,'a'
or al,00100000b
a的ascii 為65 al=01000001or 00100000
al = 01100001
得到97 即 'a'的ascii碼
另外and和or指令執行後都是清除了溢位和進位標誌,同時根據目的運算元的結果設定零標誌,符號標誌,奇偶標誌,可以根據這些標誌進行程式的跳轉
3樓:
and主要用在使一個運算元中的若干位維持不變,而另外若干位清為0的場合
or主要用在使一個運算元中的若干位維持不變,而另外若干位清為1的場合這兩個指令也可以把cf清0,自己與自己相「與」或相「或」,則值不變,cf清為0
----------------------------0000 0001 與0000 0010相或,結果為0000 0011
al=3
4樓:匿名使用者
mov al ,1
把1存放到al這個暫存器裡
or al, 2
把 al中的數與2相或
也就是00000001與00000010相或結果是00000011也就是3
所以al中為3
5樓:危獻
0000 0001
0000 0010
-----------
0000 0011
al=3
彙編中or與and指令詳細意義
6樓:匿名使用者
or稱為(或)運算,是一種位運算,即用1的位與對應值進運算 ,運算之前進行2進位制轉換
如 0b00001111 or 0b11000000 值為0b11001111,
and為疊加時取0 如 0b00001111 and 0b11000011 值為0b00000011,
彙編 語言 or 和and通常怎麼用用法有什麼不同
7樓:匿名使用者
or是或運算,在數電裡面可以理解為 相加。
and是與 運算。在數電裡面可以理解為 相乘。
彙編指令and、or什麼意思?
8樓:手機使用者
1)and指令:邏輯與指令,按位進行與運算。
mov al, 01100011b
and al, 00111011b
執行之後:al =00100011b
通過該指令可將操作物件的相應位設為0,其他位保持不變。
2)or指令:邏輯或指令,按位進行或運算。
mov al, 01100011b
or al, 00111011b
執行之後:al =01111011b
通過該指令可將操作物件的相應位設為1,其他位保持不變
組合語言 or ah,al 意義
9樓:匿名使用者
ah,al很明顯了就是
a high
a low
一個16位暫存器高位和地位的稱呼也就是你說的axor運算就是.運算的兩個位都為真得到的結果就為真舉個例子:
1 or 2看的仔細切換成二進位制運算
0001
or 0010
0011(也就是十進位制的3)
因為第一位是1,第二位是0,而第二個數的第一位是0第二位是1根據 or計算原理.1 or 0=1,0 or 0=0,0 or 1=1,1 or 1=1
的原理那得到的就是0011
看上去很清楚
現在來說說ah和al
ax是一個16位暫存器
ah=高八位(a high)
al=低八位(a low)
ax=1234h =也就是高位12,低位34如果計算的話那就是
12h = 0001 001034h = 0011 0100計算的結果就是: 0011 0110 = 36h = 54可是直接 or ah, al就是高位和低位進行or運算將結果高存在ah裡面
計算得到的結果就是
ax = 3634h
or會改變一些標誌暫存器的值-除了運算有的時候也會被當做判斷使用例如 cmp al, 0就可以寫作 or al, al-比較短小精悍cmp eax, eax=or eax, eax之類的可以參考一下。《intel組合語言程式設計》等書籍
10樓:細雨搖琴
or 是或 ah是ax暫存器的高位 佔一個位元組,al是ax暫存器的低位也佔一個位元組
ax=ah+al or是或 1or 1=1 1or0=1 0or0=0
11樓:
意思是: ah和al求邏輯「或」運算,結果送ah中。這個常用在判斷ax是否為0,只有ah,al全為0時,結果才為0.
12樓:
這樣說吧,ah=1001 1100,al=1011 0001時,or ah,al就是ah與al進行邏輯或運算,結果送到ah,ah=1011 1101。
1001 1100
or 1011 0001
---------------
1011 1101
所以說,or ah,al 並不是把ah和al組合起來。
13樓:腦子很笨
ah 和 al 進行或運算 結果儲存在ah中
組合語言執行xor,or,and,not,test邏輯指令的時候標誌位如何變化?請舉出例子,萬分感謝!!
14樓:紅葉戀千秋
1、 test al,02h ;若al中的d1位是『1』。則zf=0,否則為1;cf和of都為0
2、 not 對所有標誌位都沒有影響
3、xor or and 都使 cf=of=0 其他位 要看具體情況
15樓:籬落風瀟瀟
雙運算元邏輯指令and、or、xor和test所支援的運算元組合同加減法指令一樣。雙運算元邏輯指令均設定cf=of=0,根據結果設定sf、zf和pf狀態,而對af未定義。注意,單運算元邏輯非指令not不影響標誌位。
看看下面的你會更明白些。
網頁連結
組合語言中st指令什麼意思組合語言中,ST指令什麼意思?
st是store的簡寫,ld是load簡寫,前面一個是寫,後面一個是讀。st是源暫存器 儲存區,ld是儲存區 目的暫存器。字資料傳送指令 ld,st 這是最簡單的資料傳送指令,不用考慮符號位的問題,直接以機器的位長存取資料。ld 從記憶體中取32位字資料放人暫存器,st將暫存器中的32位字資料儲存到...
組合語言中ptr的作用是什麼,組合語言中CMP的作用是什麼?
ptr應該就是pointer 說明地址指標型別。當兩個運算元型別均不明確時,必須用byte ptr 位元組屬性 或word ptr 字屬性 將一個儲存器運算元定義為位元組或字型別。如 mov byte ptr si oah 指明 si 為位元組型別 在沒有暫存器名存在的情況下,用操作符 x ptr ...
組合語言中的問題求高手解,組合語言中的一個問題求高手解
mov ax,a cmp ax,b bnz l 執行else mov bx,0 mov d,ax jmp ll l ll if的下一條語句復 bnz 標號制 若上一條指令執行的結果非零,就跳到標號執行他是判斷flag暫存器的zf位,若結果不為0,則 跳轉到標號處 組合語言程式的一道題。求高手解答 你...