1. Наш канал codeby в telegram. Пишем об информационной безопасности, методах защиты информации, о программировании. Не пропускай новости с кодебай, будь в тренде ! Подробнее ...

    Скрыть объявление

Ассемблер - битовые операции

Тема в разделе "Остальные языки программирования", создана пользователем Kommed, 5 июн 2008.

Статус темы:
Закрыта.
  1. Kommed

    Kommed Гость

    Репутация:
    0
    Здравствуйте! Есть задача: "Реализуйте логическую арифметику, при которой в одном слове хранилось бы 16 логических переменных(ассемблерная вставка на С++)". Идея, насколько я понял, такая - имеем слово(скажем просто в виде обычной глобальной переменной), устанавливаем, скажем второй бит (начиная счёт битов с единицы)

    OR <НАША_ПЕРЕМЕННАЯ>, 2
    ,
    сбросить -

    AND <НАША_ПЕРЕМЕННАЯ>,NOT 2
    ,
    проверить -

    TEST <НАША_ПЕРЕМЕННАЯ>, 2

    Надо же передавать номер бита и сдвигать на столько битов единицу(мы ведь не можем работать с произвольным битом - только с крайним, или я ошибаюсь?).
    А как придать этому всему ясную форму, скажем, подпрограммы, я не совсем понимаю.
    Буду очень признателен за любую помощь.
     
  2. angrydevil

    angrydevil Гость

    Репутация:
    0
    зайди на мотфан.ру. это форум модераторов телефонов моторола. там сидят сотни людей, которые каждый день ковыряют прошивки своих телефонов ассемблером. они тебе очень много по этому поводу могут рассказать.
     
  3. Surok

    Surok New Member

    Репутация:
    0
    Регистрация:
    22 июн 2008
    Сообщения:
    1
    Симпатии:
    0
    Допустим нужно проверить 3 бит переменной var.

    ...
    mov ax,var
    and ax, 4
    cmp ax, 0
    jnz ... ;3-й бит в "1"
    ...

    установить 3-й бит в "1"

    ...
    or var, 4
    ...

    сбросить 3-й бит

    ...
    and var,0FBh
    ...
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей