Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 04.06.2008, 14:12   #1
DrAlexx2121
Новичок
Джуниор
 
Регистрация: 04.06.2008
Сообщений: 1
По умолчанию Битовые операции

Может мне кто-нибудь подсказать: есть задача - "Реализуйте логическую арифметику, при которой в одном слове хранилось бы 16 логических переменных" - что это и как оно должно выглядеть? Ясно, что через битовые операции, ноо.... вобщем не понимаю я смысл задания...
DrAlexx2121 вне форума Ответить с цитированием
Старый 04.06.2008, 14:26   #2
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

А что именно непонятно? Смысл простой: имеем слово, где будем его "хранить" - смотрите сами, скажем просто в виде обычной глобальной переменной. Установить, скажем второй бит (начиная счёт битов с единицы) -
Код:
OR <НАША_ПЕРЕМЕННАЯ>, 2
, сбросить -
Код:
AND <НАША_ПЕРЕМЕННАЯ>,NOT 2
, проверить -
Код:
TEST <НАША_ПЕРЕМЕННАЯ>, 2
. И аналогично для остальных пятнадцати. Остаётся придать этому всему какую-то форму, скажем, подпрограммы, передавать в неё номер бита, сдвигать на столько битов единицу и использовать её в качестве двойки в примере.
B_N вне форума Ответить с цитированием
Старый 14.06.2008, 19:24   #3
yourself
Пользователь
 
Аватар для yourself
 
Регистрация: 10.11.2007
Сообщений: 38
По умолчанию

Цитата:
OR <НАША_ПЕРЕМЕННАЯ>, 2
А если второй бит будет 0, то разве от этого он нулем не останется? Может нужно OR <НАША_ПЕРЕМЕННАЯ>, NOT 2, или я ошибаюсь? Поправьте, если не так
yourself вне форума Ответить с цитированием
Старый 14.06.2008, 19:34   #4
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

128 (10000000) OR 2 (10) = 130 (10000010)

128 (10000000) OR NOT 2 (253 = 11111101) = 253 (11111101)
B_N вне форума Ответить с цитированием
Старый 14.06.2008, 22:26   #5
yourself
Пользователь
 
Аватар для yourself
 
Регистрация: 10.11.2007
Сообщений: 38
По умолчанию

B_N, огромное спасибо Я неверно понял смысл операций.
yourself вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Операции с массивами Hakman Помощь студентам 10 19.02.2008 19:36
Битовые операции LEX.darnica Помощь студентам 14 23.12.2007 20:40
Операции над данными yulia БД в Delphi 24 21.05.2007 01:18
Битовые операции zetrix Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 5 15.12.2006 12:08


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS