题
试图用一些汇编代码帮助朋友出去朋友,但我遇到了一个小问题。
我正在尝试弄清楚如何通过8位二进制单词循环并检查特定位的价值。我需要检查位1、3、5和7,看看它们是否是1。
IE
int count = 1;
int bitAdd = 0;
foreach (var bit in word) {
if ((count = 1 && bit = 1) || (count = 3 && bit = 1) || (count = 5 && bit = 1) || (count = 7 && bit = 1)) {
bitAdd += 1;
}
count += 1;
}
帮助您非常感谢。
//编辑对不起,Pusdo代码有些模棱两可。试图使其更加简洁。
解决方案
我认为BTST指导将在这里对您有用。
例如:
btst #5, d0
将检查D0中的值中是否设置了位5。
(这将适用于68000,我不太确定6800,Google Google告诉我,BITA或BITB说明可能有所使用: http://www.textfiles.com/programming/cards/6800 )
不隶属于 StackOverflow