Страница 1 из 1

B = A.0

СообщениеДобавлено: 09 окт 2022, 16:53
Voldemus
Добрый день

Надо в макросе присвоить B значение нулевого бита A

Код: Выделить всё
macro_command main()

unsigned short A
bool B

B = A.0 // так не получается, компилятор выдает ошибку

end macro_command


P.S.
Используйте оформление текста макросов тегами [Code] !

Re: B = A.0

СообщениеДобавлено: 09 окт 2022, 17:11
dimensy
используйте функцию GETBIT

Re: B = A.0

СообщениеДобавлено: 09 окт 2022, 17:19
Voldemus
Спасибо, работает.

Re: B = A.0

СообщениеДобавлено: 09 окт 2022, 17:25
Voldemus
А как сделать обратную запись, например. A.3 = B

Re: B = A.0

СообщениеДобавлено: 09 окт 2022, 18:23
dimensy
Прямой функции нет, поэтому анализировать В и использовать функции SETBITON и SETBITOFF

Код: Выделить всё
if B then
   SETBITON(A, A, 3)
else
   SETBITOFF(A, A, 3)
end if

Re: B = A.0

СообщениеДобавлено: 10 окт 2022, 12:36
Voldemus
Я так и думал.