Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 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 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


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