Как лучше хранить флаги в своих структурах?

Тема в разделе "WASM.BEGINNERS", создана пользователем nickye, 3 мар 2007.

  1. nickye

    nickye New Member

    Публикаций:
    0
    Регистрация:
    6 янв 2007
    Сообщения:
    6
    Определяю структуру для массива данных, каковая
    прекрасно разбивается на 2 или 4 dword, причем
    дипазон данных для одного из них - word. Нужен еще один
    флаг 1/0 для фильтрации данных, так понимаю, что есть
    смысл хранить его в бите знака, или как-то еще на уровне бит.
    Как оптимально хранить и работать с таким флагом
    (проверка, установка, сброс)? или же лучше стремиться
    хранить такие флаги в отдельном dword , или индексами?

    Что можно почитать/посмо
     
  2. nitrotoluol

    nitrotoluol New Member

    Публикаций:
    0
    Регистрация:
    5 сен 2006
    Сообщения:
    848
    Способ 1 - самый распространенный
    Flag db 0

    ;Включить и выключить влаг:
    xor byte ptr [Flag],1

    ;Обнулить:
    and byte ptr [Flag],0

    ;Установить в единицу:
    or byte ptr [Flag],1


    Куда уж проще...?
    ---------------------------------------------------
    Способ 2 - тоже неплохой
    Хранить флаг в регистре....
     
  3. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    если тебе некритичен размер структуры, проще выделить под него один дворд и не париться.
     
  4. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    nickye
    Можешь написать макросы для установки или очистки флажков и тоже не париться.