试图用一些汇编代码帮助朋友出去朋友,但我遇到了一个小问题。

我正在尝试弄清楚如何通过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指导将在这里对您有用。

http://68k.hax.com/btst

例如:

btst #5, d0

将检查D0中的值中是否设置了位5。

(这将适用于68000,我不太确定6800,Google Google告诉我,BITA或BITB说明可能有所使用: http://www.textfiles.com/programming/cards/6800 )

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top