; Проверить состояние входного сигнала ; Бит установлен
; Переключатель активен, включить LED ; Установить бит
goto
Loop
end
Как я всегда стараюсь делать при разработке программного обеспечения, я проанализировал программу в поисках возможностей улучшения ее отдельных частей. Наиболее явной частью кода, которая может быть улучшена, является процедура передачи входного бита, указывающего состояние переключателя, на вывод, управляющий вторым светодиодом.
В приведенном выше примере программный код соответствует уровню, который можно получить с помощью хорошего оптимизирующего компилятора с языка С после ввода следующего исходного текста:
it ( ( PORTB & 0x010 ) == 0 ) PORTB = PORTB & OxODF; else " PORTB = PORTB I 0x020;
Однако этот код можно написать по-другому, без использования оператора IF, и он будет иметь вид:
PORTB = ( PORTB & OxCF ) I ( ( PORTB < < 1 ) & OxODF );