| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2993 人关注过本帖
标题:OR和TEST这两个指令怎么用
只看楼主 加入收藏
henankaifei717
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2008-4-20
收藏
 问题点数:0 回复次数:2 
OR和TEST这两个指令怎么用
在看别人写的程序中总是会用到OR或者TEST这两个指令,我对这两个指令很是迷惑,查了一下书结果更迷惑,,有哪位好心的大哥在姐能给小弟指点一下这两个指令怎么用,不胜感激!!!!
搜索更多相关主题的帖子: TEST 指令 
2008-05-13 18:20
zhulei1978
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:53
帖 子:1351
专家分:1200
注 册:2006-12-17
收藏
得分:0 
要置某位为一可用or指令,例:要求第5位置1,
mov al,43h
or al,20h
这两条指令执行后,(al)=63h
         0100 0011
         0010 0000
    or
    ---------------
         0110 0011
所以用or指令可以使操作数的某些位置1,只需要把or指令的源操作数设置为一个立即数,并把需要置1的位设为1,就可达到目的。

要测试操作数的某位是否为0,可用test指令,同样把test指令的源操作数设置成一个立即数,其中需要测试的位应设为1。例:
mov al,40h
test al,0afh
这两条指令执行后
    0100 0000
        1010 1111
    and
    -------------
        0000 0000
这里要求测试第0,1,2,3,5,7位是否为0,根据测试的结果设置条件码为cf=of=0,sf=0,zf=1,说明所需测试的位均为0.如果在这两条指令之后跟一条条件转移指令jnz,如果不是0则转移,如结果为0则顺序往下执行,这样就可以根据测试的情况不同产生不同的程序分支,转向不同的处理。

其实我就是改变社会风气,提高少女素质,刺激电影市道,提高年轻人内涵,玉树临风,风度翩翩的整蛊专家,我名叫古晶,英文名叫JingKoo!
2008-05-13 19:36
henankaifei717
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2008-4-20
收藏
得分:0 
谢谢!
ar 和 test都影响哪些寄存器?还有ar怎么和jnc(jn)指令联用?
2008-05-14 10:00
快速回复:OR和TEST这两个指令怎么用
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018134 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved