K
Kommed
Здравствуйте! Есть задача: "Реализуйте логическую арифметику, при которой в одном слове хранилось бы 16 логических переменных(ассемблерная вставка на С++)". Идея, насколько я понял, такая - имеем слово(скажем просто в виде обычной глобальной переменной), устанавливаем, скажем второй бит (начиная счёт битов с единицы)
OR <НАША_ПЕРЕМЕННАЯ>, 2
,
сбросить -
AND <НАША_ПЕРЕМЕННАЯ>,NOT 2
,
проверить -
TEST <НАША_ПЕРЕМЕННАЯ>, 2
Надо же передавать номер бита и сдвигать на столько битов единицу(мы ведь не можем работать с произвольным битом - только с крайним, или я ошибаюсь?).
А как придать этому всему ясную форму, скажем, подпрограммы, я не совсем понимаю.
Буду очень признателен за любую помощь.
OR <НАША_ПЕРЕМЕННАЯ>, 2
,
сбросить -
AND <НАША_ПЕРЕМЕННАЯ>,NOT 2
,
проверить -
TEST <НАША_ПЕРЕМЕННАЯ>, 2
Надо же передавать номер бита и сдвигать на столько битов единицу(мы ведь не можем работать с произвольным битом - только с крайним, или я ошибаюсь?).
А как придать этому всему ясную форму, скажем, подпрограммы, я не совсем понимаю.
Буду очень признателен за любую помощь.