Всем привет!
Разглядывая систему команд AVR и 8086 внезапно понял, что команда IN не меняет флаги.
Та, которая IN Rx, PORTx.
Не, я могу понять, почему так с чтением памяти (иначе бы не заработали pushF/popF), но с портами то почему так? Вроде было бы удобно... Ввёл значение из порта и сразу знаешь, что там не ноль.
Во-первых, а что если там был 0? Тебе все равно придется писать свои костыли для проверки чтения. Разница будет в том, что больше процессорного времени будет затрачено
Во-вторых, предположу, что это также для унификации чтения/записи. Легче работать, когда работа ведется по одному шаблону и не нужно постоянно помнить подобные детали.