and eax 1的作用是什么啊


.if	eax ==	ID_TIMER1
inc dwCount
mov eax,dwCount
and eax,1
inc eax
invoke LoadIcon,hInstance,eax
invoke SendDlgItemMessage,hWnd,IDC_SETICON,STM_SETIMAGE,IMAGE_ICON,eax
.elseif eax == ID_TIMER2
invoke MessageBeep,-1
.endif

好奇怪啊,跟1與不還是自己嗎?
還有個問題,我在看老羅的32位匯編語言程序設計,以前只看過王爽的匯編語言,中間有道坎,老羅又不講一些基本寄存器和指令的使用方法,誰能推薦本書不?

8 个解决方案

#1


80x86匯編程序設計

intel匯編程序設計

#2


誰說和1與就是自己呀?自己跟自己與還是自己。

#3


引用 2 樓 masmaster 的回復:
誰說和1與就是自己呀?自己跟自己與還是自己。

那這句是啥意思呢?求教

#4



0 AND 1  
1 AND 1
各等於多少然后
inc eax 
是多少

#5


引用樓主 hankcs 的回復:
Assembly code
.if    eax ==    ID_TIMER1
                inc    dwCount
                mov    eax,dwCount
                and    eax,1
                inc    eax
                invoke    LoadI……


這個的作用是當時間遞增的時候仍能轉化成在1和2兩數之間切換,從而達到隨時間遞增輪流替換圖標1和2的目的
加入當dwCount是1秒的時候,and eax,1的結果就是1,inc eax后是2,這時加載圖標2
2秒時,and eax,1就是and 10b,1結果為0,也就是偶數的時候結果都是0,inc eax后是1,這時加載的是圖標1

#6


支持樓上

#7


支持樓上

#8


引用 5 樓 applic 的回復:
引用樓主 hankcs 的回復:
Assembly code
.if eax == ID_TIMER1
inc dwCount
mov eax,dwCount
and eax,1
inc eax
invoke LoadI……


這個的作用是當時間遞增的時候仍能轉化成在1和2兩數之間切換,從而達到隨時間遞增輪流替換圖標1和2的目的
加入當dwCount是1秒的時候,and e……

懂了,我糊塗了,以為1就是11111111……

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com