|
думал, что финт ушами с JBC нужен для атомарной проверки состояния EA _и_ его очистки, что обеспечивает корректную работу даже тогда, когда в прерывании сбрасывается флаг EA. Корректно ли оперировать с EA в прерывании - это другой вопрос, но IMHO ни один код, в котором разными инструкциями проводится проверка, а затем сброс флага EA не обеспечивает корректной работы во всех случаях.
Что приводит к тому, что программисту на C нужно глубоко знать, как там этот чертов компилятор оперирует служебными флагами в тех местах, где программист явно не указывает ими оперировать, и как эти тонкости повлияют на все остальные части его программы и на всю ее архитектуру.
E-mail: info@telesys.ru