Сборка 6800 петли? Тестирование конкретных битов в слове

StackOverflow https://stackoverflow.com/questions/2797400

  •  04-10-2019
  •  | 
  •  

Вопрос

Попытка помочь другу с другом с некоторым кодом сборки, но я столкнулся с небольшой проблемой.

Я пытаюсь выработать, как я буду ветят через 8-битное двоичное слово и проверьте значение определенных битов. Мне нужно проверить биты 1, 3, 5 и 7, чтобы увидеть, есть ли они 1.

т.е.

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 Code был немного неоднозначным. Пытался сделать это немного более сжатым.

Это было полезно?

Решение

Я думаю, что инструкция BTST будет использоваться для вас здесь.

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

Например:

btst #5, d0

Проверит, установлен ли бит 5 в значение D0.

(Это будет работать на 68000, я не слишком уверен в 6800, Googling говорит мне, что инструкции BITA или BITB могут быть использованы: http://www.textfiles.com/programming/cards/6800. )

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top