Байтоёбства псто

Jun 20, 2021 12:49

Меня тут жизнь заставила потрогать компилятор XC8 от майкрочипа для мелких контроллеров. Это, я вам скажу, целый отдельный мир в себе. Зато я теперь понимаю, откуда на форумах тонны говнокода с двоичными или шестнадцатиричными константами, а разбуженный внезапно ночью пикоман будет бормотать что-то типа "0xA8 в регистр 0xBB включает режим ( Read more... )

rant, программизм, терминальное

Leave a comment

sbj_ss June 21 2021, 07:26:46 UTC
Во многих случаях согласованное поведение достигается правильным порядком команд - т.е.
CTRL_A.option1 = 1;
CTRL_A.option2 = 1;
CTRL_A.enabled = 1;
Но это уже высший пилотаж.

Reply

ex0_planet June 21 2021, 08:42:58 UTC
Запуск аппаратуры - и так достаточно хрупкий код, зачем усложнять?

Reply

sbj_ss June 21 2021, 08:46:07 UTC
А, их проблемы.
Я, кстати, подозреваю, что компилятор способен оптимизировать код и собрать все присваивания битиков в одну запись в регистр. Но поскольку оптимизации при отладке отключены - будут чудеса в решете :)

Reply

ex0_planet June 21 2021, 08:47:07 UTC
Он не имеет права так оптимизировать, потому что volatile и операции по внешней памяти должны быть видны так как написано.

Reply

sbj_ss June 21 2021, 08:50:08 UTC
А, тьфу. volatile же, да.

Reply


Leave a comment

Up