Лабораторная 3. Битовая структура данных

  1. Разработать процедуру вывода на экран битовой структуры оперативной памяти:
    procedure bitForm(adr:pointer; bitCount:longword);
    adr - указатель на начало анализируемого блока оперативной памяти
    bitCount - количество анализируемых битов

    Биты должны выводиться группами по 8 штук через пробел, от старшего бита к младшему.
    Если общее количество битов не кратно 8, то количество бит в последней группе будет меньше 8.
    При создании процедуры разрешается использовать только указатели и порядковые типы данных

    Пример программы, использующей данную процедуру:

    var x:word;
    begin
     x:=$04FE;
     bitform(@x,15);
    end.
    

    Результат работы программы:

    11111110 0000010
    
  2. Разработать процедуры установки и сброса единичного бита в оперативной памяти:
    procedure bitSet(adr:pointer; bitNumber:longword);
    procedure bitReset(adr:pointer; bitNumber:longword);
    
    adr - указатель на начало блока оперативной памяти
    bitNumber - устанавливаемый или сбрасываемый бит

    Нумерация битов - от младшего к старшему.
    При создании процедур разрешается использовать только указатели и порядковые типы данных

    Пример программы, использующей данные процедуры:

    var x:word;
    begin
     x:=$04FE;
     bitform(@x,15);
    
     bitset(@x,0);
     bitform(@x,15);
    
     bitreset(@x,1);
     bitform(@x,15);
    
     bitset(@x,9);
     bitform(@x,15);
    end.
    

    Результат работы программы:

    11111110 0000010
    11111111 0000010
    11111101 0000010
    11111101 0000011