Манипулирование битами |
1. Заголовок или название темы должно быть информативным
2. Все тексты программ должны помещаться в теги [CODE=asm] [/CODE]
3. Прежде чем задавать вопрос, см. "FAQ",если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно, такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Ассемблера. Исключение только с согласия модератора.
5. НЕ используйте форум для личного общения! Все, что не относиться к обсуждению темы - на PM!
6. Проверяйте программы перед тем, как выложить их на форум!!
Манипулирование битами |
Лена |
Сообщение
#1
|
Группа: Пользователи Сообщений: 4 Пол: Женский Реальное имя: Лена Репутация: 0 |
Определить разность между количеством единичных и нулевых битов в старшем и количеством единичных и нулевых битов в младшем байте слова.
|
volvo |
Сообщение
#2
|
Гость |
Лена, в чем проблема? Не знаешь, как работать с битами? Очень просто: запоминаешь нужное тебе значение в регистре (скажем, в BX) в цикле, 8 раз проверяешь значение BX на четность, и если четное, то увеличиваешь счетчик единичных бит. Количество нулевых бит будет равно 8 - (количество_единичных). Разность сама найдешь? Набросок:
mov bx, my_data ; my_data - то слово, которое ты должна проверить То же самое делаешь еще раз прямо не изменяя содержимого BX, тогда ты получишь количество единичных бит в старшем байте слова, для него опять находишь нужную тебе разность... Вот и все, собственно... |
Лена |
Сообщение
#3
|
Группа: Пользователи Сообщений: 4 Пол: Женский Реальное имя: Лена Репутация: 0 |
Спасибо большое.
|
Текстовая версия | 29.03.2024 22:21 |