
Dolphin
05.06.2017
08:25:44
старший бит видишь? )

LexsZero
05.06.2017
08:25:51
C11(ISO/IEC 9899:201x) §6.5.8 Relational operators
Each of the operators < (less than), > (greater than), <= (less than or equal to), and >= (greater than or equal to) shall yield 1 if the specified relation is true and 0 if it is false.107) The result has type int.

Dolphin
05.06.2017
08:26:13

Danil
05.06.2017
08:26:43
RxD константа что-ли? просто бит 3 захаркоден

Google

Dolphin
05.06.2017
08:26:55
константа

Danil
05.06.2017
08:27:08
там все сравнения выкинуты компилером нахуй в асме

Dolphin
05.06.2017
08:27:12
но может меняться при перекомпиляции и конфиге

Danil
05.06.2017
08:27:21
ну еп а смысл тогда?

Dolphin
05.06.2017
08:27:22
как же выкинуты
первая строчка
SBIC
это сравнение

Danil
05.06.2017
08:27:54
а сделай RxD переменной и скомпиль

Dolphin
05.06.2017
08:28:00
пропустить команду если пин порта очищен

Danil
05.06.2017
08:28:09
я в курсе
просто там сразу написано '3'

Dr
05.06.2017
08:28:51

Google

Danil
05.06.2017
08:29:14
а если RxD переменная?

Dolphin
05.06.2017
08:29:20

Th0r
05.06.2017
08:29:23

Danil
05.06.2017
08:29:30

Dr
05.06.2017
08:29:41
а, всё
я догнал

Dolphin
05.06.2017
08:30:14
только я не понимаю нахуя переменная? ))

Dr
05.06.2017
08:30:33
Received_data|=((PINB&(1«RxD))»RxD)«7;

Danil
05.06.2017
08:30:42
я бы написал иначе, не доверяю я такие моменты компилятору

Dr
05.06.2017
08:30:50
да, так ещё менее читабельно

Dolphin
05.06.2017
08:30:53

Danil
05.06.2017
08:31:51
фарш какой-то

Dolphin
05.06.2017
08:32:29
_PWM &= 0xFF + !((_flags&_tails) && (_PWM > 0));
:)
я такое в 12 лет писал уже )

Danil
05.06.2017
08:33:12
(PINB&(1<<RxD)? 0x80; 0x00)
вот так например

Dr
05.06.2017
08:33:58

Google

Dolphin
05.06.2017
08:33:59

Danil
05.06.2017
08:34:23
пруфы в студию

Dolphin
05.06.2017
08:34:28
с переменной

Danil
05.06.2017
08:36:16
нет хотя бы 16 битного регистра под сдвиг

Dolphin
05.06.2017
08:36:16
константа

Danil
05.06.2017
08:36:39
зато читабельнее

Dolphin
05.06.2017
08:36:45
:)
мне нет )

Danil
05.06.2017
08:37:57
на пару байт таки мой вариант короче для переменной

Dolphin
05.06.2017
08:38:49
толку то? ))
переменная нинужна

Danil
05.06.2017
08:39:28
ну вот кому как, но мой вариант читается сразу, а ваш я вкурил с 3ей попытки. Не надо так

Dolphin
05.06.2017
08:40:32

IDDQD
05.06.2017
08:40:50
теперь у меня вопрос
почему |=
а, здравствуйте господа. давно не виделись

Google

Danil
05.06.2017
08:41:58
кстати в случае с константой в Received_data (R24) пишется напрямую 0х00 или 0х80 - а в коде стоит |=!?

Dolphin
05.06.2017
08:41:59
почему |=
Потому что к результату битово прибавляю старший бит

Danil
05.06.2017
08:42:18
Для переменной все корректно. Заоптимизировало нах

Dolphin
05.06.2017
08:42:39

Danil
05.06.2017
08:43:08
в листинге выше этого небыло
потому и спросил

Dolphin
05.06.2017
08:43:22
ну это же и так понятно, компилятор не идиот )
тупо - робот :D

IDDQD
05.06.2017
08:43:39

Dolphin
05.06.2017
08:44:06

Admin
ERROR: S client not available

IDDQD
05.06.2017
08:44:38

Dolphin
05.06.2017
08:44:42
Received_data=(Received_data»1) | ((PINB&(1«RxD))>0)«7;
вот так выглядит полностью

IDDQD
05.06.2017
08:45:26
базара нет

Danil
05.06.2017
08:45:30
*вот тут место для стикера #кровьизглаз
не дай бог такой код потом поддерживать

Dolphin
05.06.2017
08:46:15

IDDQD
05.06.2017
08:46:40
да. я щас максимально просто пишу. ибо моя заумная писанина пятилетней давности меня раздражает блять
хотя если коменты писать - то норм

Google

Dolphin
05.06.2017
08:47:14
а самое главное, это поддается оптимизации дискреткой
типа полиномы жегалкина и тп

Danil
05.06.2017
08:48:13
вот ты место наверное сэкономил на экране дохуя? нормально, это когда код читается сразу без промежуточных вычислений в голове. компилер все равно сделает одинаковый машкод

Dolphin
05.06.2017
08:49:10

Danil
05.06.2017
08:49:19
а такой код потом исправь легко по всему файлу - в такой каше искать баг будешь 3 дня

Dolphin
05.06.2017
08:49:23
этот пример не красочный да
я выше показывал другие
но этот будет сложнее потом
я тесты прогоняю до изменений

Danil
05.06.2017
08:50:31
если не лениться и писать вообще с if'ами, то код машкод будет тот же, а поддерживать и отлаживать будет проще на порядки

Dolphin
05.06.2017
08:50:47
_PWM += ( ((_PWM <= _tails_PWM)++) && (_flags & _tails) ) - ( !(_flags & _break || (_PWM < _tails_PWM)) << 1 );
вот это
было 6 условий

Danil
05.06.2017
08:51:06
например п в чём?

Dolphin
05.06.2017
08:51:23
код был больше на 80 байт

Danil
05.06.2017
08:52:02

Dolphin
05.06.2017
08:52:02
сработали законы поглощения
всмысле?
условия не видишь?

Danil
05.06.2017
08:52:36
где?