This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Store bit flags on an 16bits memory

Hi,

Anyone knows how to use bit flags using only 1 bit of each word of a 16bits RAM memory?, by this way, I can store 16 flags on each word.

I'm adapting an old 16bits program that used a bit a bit addresable memory, And I don't want to change all code using masks to emule a bit a bit addresable, and I don't wan't to use a 16bits word to only store a bit.

There are any software easy solution?

Thanks!!

Parents
  • struct {
        unsigned b0  : 1;
        unsigned b1  : 1;
        unsigned b2  : 1;
        unsigned b3  : 1;
        unsigned b4  : 1;
        unsigned b5  : 1;
        unsigned b6  : 1;
        unsigned b7  : 1;
        unsigned b8  : 1;
        unsigned b9  : 1;
        unsigned b10 : 1;
        unsigned b11 : 1;
        unsigned b12 : 1;
        unsigned b13 : 1;
        unsigned b14 : 1;
        unsigned b15 : 1;
    } bit_addressable_memory;
    
    #define my_first_old_bitname    bit_addressble_memory.b0
    #define my_second_old_bitname   bit_addressble_memory.b1
    #define my_third_old_bitname    bit_addressble_memory.b2
    #define my_fourth_old_bitname   bit_addressble_memory.b3
    #define my_fifth_old_bitname    bit_addressble_memory.b4
    

Reply
  • struct {
        unsigned b0  : 1;
        unsigned b1  : 1;
        unsigned b2  : 1;
        unsigned b3  : 1;
        unsigned b4  : 1;
        unsigned b5  : 1;
        unsigned b6  : 1;
        unsigned b7  : 1;
        unsigned b8  : 1;
        unsigned b9  : 1;
        unsigned b10 : 1;
        unsigned b11 : 1;
        unsigned b12 : 1;
        unsigned b13 : 1;
        unsigned b14 : 1;
        unsigned b15 : 1;
    } bit_addressable_memory;
    
    #define my_first_old_bitname    bit_addressble_memory.b0
    #define my_second_old_bitname   bit_addressble_memory.b1
    #define my_third_old_bitname    bit_addressble_memory.b2
    #define my_fourth_old_bitname   bit_addressble_memory.b3
    #define my_fifth_old_bitname    bit_addressble_memory.b4
    

Children