Цитата(Aleksandr_KPI @ Jul 23 2010, 13:43)

Команда orl P1MDOUT,#40h настраивает порт в режим выхода, а зачем его настраивают на вход: команда orl P1MDIN, #40h.
У этих контроллеров биты порта могут работать как в аналоговом режиме, так и в цифровом.
Push-Pull работает только в цифровом. Поэтому, сначала устанавливают режим работы - цифровой, а затем включают Пуш-Пул.
См. даташит.
Цитата(Aleksandr_KPI @ Jul 26 2010, 12:41)

Иными словами 6 вывод порта 1 настраивается в режим выхода Push-Pull, а второй нижний ключ подтягивается к единице через резистор Pull-up?
На основе этой программы написал свою...
Программа должна глючить.
Первое, что бросилось в глаза - в метке DONE_OK, после CALL DELL_100MS, стоит RET. Выполнив эту команду, контроллер уйдет в "свободное плавание". На время отладки тут должен быть JMP $ или еще что.
И еще.
"Минус" программы - нет выхода из цикла, если ПЛИС так и не будет загружена (например, какая-либо аппаратная неисправность).
Было бы неплохо сделать оповещение оператора в случае НЕЗАГРУЗКИ ПЛИС (даже самому потом проще будет в глюках разбираться).