标题:
[原创]
汇编基础一日一学习12
[打印本页]
作者:
柔肠寸断
时间:
2009-5-29 00:20
标题:
汇编基础一日一学习12
大家好,今天我们来学习下and 和 or 指令。想必学过高级语言的朋友都应该学过。但是你是否真正的去深入的学习过这两个指令呢。 呵呵,今天就让我带领大家深入的来学习,这两个指令也是非常有用的。
好我们首先来介绍下and指令。
and:逻辑与指令,按位进行与运算。
这里教给大家一个小诀窍去记and与操作。大家看这句话 “我和你去公园”,我和你是两个操作数,这两个操作数是不能分离的,(也就是说我和你都得去公园) 也就是他们必须都为真(1),那么返回的也就为1(也就是去公园为真)。如果有一个为0,返回的也就为0。 所以一般我们都用逻辑and来设置相关的操作位为0。
举个例子 (注意:计算机中的数值位是从0开始的)
al = 00001000B (B表示二进制位)
那么此时我们想把al中的第3位1,通过做逻辑与运算来把它给设置为0。此时该怎么做呢?
and al, 11110111B
al = 00000000B
如我上面说的,因为逻辑与运算,必须两个操作数都为1,那么返回为1。有一个为0,则返回为0。
or :逻辑或运算,按位进行或运算。
同样教给大家一个小诀窍,大家看这句话 “她或者你和我一起去公园”。那么她或者你,那么此时只要一个人跟我去公园就行了。那么去公园也就表示真了。 所以or 两个操作数,有一个为1,则返回的结果为1 。所以一般我们都用逻辑or来设置相关的操作位为1.
举个例子
al = 00100100B (B表示二进制位)
那么此时我想把al中第3位0设置为1。那么该怎么做呢。
or al, 00001000B
此时因为有一位为1,则结果为1。此时al = 00101100B 。
很简单吧。呵呵,出道题考考大家。
小作业:
(1)此时al = 00101110B,那么此时我想把al中的第2位设置为0(注意:计算机中的数值位是从0开始计算的),那么该怎么做? (必须用到今天学的and or指令)
(2)此时al = 00100010B ,那么此时我想把al中第三位设置为1,(注意:计算机中的数值位是从0开始计算的),那么该怎么做? (必须用到今天学的and or指令) 。
作者:
EndTo偌枫
时间:
2009-5-29 07:53
学习了 LZ辛苦了
作者:
plantseth
时间:
2009-5-30 16:36
1.and al,00101010B
2.or al,00101010B
作者:
syzhangchao
时间:
2009-6-2 01:34
学习了 嘿嘿 有的还不太懂
作者:
hkhs615
时间:
2009-12-17 16:21
学习.................
欢迎光临 【3.A.S.T】网络安全爱好者 (http://3ast.com/)
Powered by Discuz! 7.2