朱古力 发表于 2007-8-16 19:24:00

【求助】汇编里的OR不明白,请教!

or :在操作数之间执行逻辑位或运算,并将结果存入到第一个操作数中
那OR AL,AL
就是在al和al之间执行或运算,那有什么意义呢?
(如果是XOR AL,AL就是进行异或,就是把AL清零,这个我知道)
可能问得不太清楚
000007F0    2C 30         SUB AL,30
000007F2    8D0C89          LEA ECX,DWORD PTR DS:
000007F5    8D0C48          LEA ECX,DWORD PTR DS:
000007F8    8A06            MOV AL,BYTE PTR DS:
000007FA    46            INC ESI
000007FB    0AC0            OR AL,AL       ; 就只有这里没看懂
000007FD^ 75 F1         JNZ SHORT 000007F0

kgdiwss 发表于 2007-8-17 12:53:37

还有test eax,eax这种的呢,我也不是很明白干嘛这么用

朱古力 发表于 2007-8-17 15:01:50

对呀,希望高人们说说。。
好像跟标志位有关系。但是应该有什么关系呢。?

tigerisme 发表于 2007-8-17 15:08:13

或运算,只要al为1则返回结果为1,若al为0则返回结果为0,主要控制下面那个jnz跳转命令
返回结果为1,则跳转实现,否则不跳!/:001


最好找本汇编书看一下/:014
页: [1]
查看完整版本: 【求助】汇编里的OR不明白,请教!