要置某位为一可用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则顺序往下执行,这样就可以根据测试的情况不同产生不同的程序分支,转向不同的处理。
or and test命令
使用OR与TEST指令
最新推荐文章于 2023-05-07 14:35:34 发布
本文介绍了如何使用OR指令来置位以及TEST指令来测试特定位是否为0的方法。通过具体的例子,展示了如何设置源操作数以实现这些操作,并讨论了如何依据测试结果设置条件码并进行条件转移。
1033

被折叠的 条评论
为什么被折叠?



