Сборка 6800 петли? Тестирование конкретных битов в слове
Вопрос
Попытка помочь другу с другом с некоторым кодом сборки, но я столкнулся с небольшой проблемой.
Я пытаюсь выработать, как я буду ветят через 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 будет использоваться для вас здесь.
Например:
btst #5, d0
Проверит, установлен ли бит 5 в значение D0.
(Это будет работать на 68000, я не слишком уверен в 6800, Googling говорит мне, что инструкции BITA или BITB могут быть использованы: http://www.textfiles.com/programming/cards/6800. )
Не связан с StackOverflow