ЧАСТИЧНЫЙ ОТВЕТ:
Подзапрос 1
Если один байт хранится в переменной BYTE1
, а другой хранится в переменной BYTE2
, вы можете объединить их в WORD1
во многих основах с WORD1 = BYTE1: WORD1 = (WORD1 SHL 8) OR BYTE2
.Это превращает BYTE1
в старшие биты WORD1
и BYTE2
в младшие биты.
Подзапрос 2
Если вы хотите замаскировать (или выбрать)конкретные биты слова, используйте оператор AND
, суммируя значения битов интересующих битов - например, если вы хотите выбрать первый и третий биты (считая первый бит как младший бит слова)переменная FLAGS
, вы посмотрите на значение FLAGS AND 5
- 5 является двоичным 0000000000000101
, поэтому вы гарантируете, что все биты в результате будут равны 0, кроме первого и третьего, что будет иметь любое значение, которое ониотображаются в FLAGS
(это «побитовое И»).