прямой инфы нет (с объяснениями), но в тех же исходниках fasmd есть интерфейс с пользователем описанный (и как получать состояние клавиш, как отображать элементы интерфейса), но все это приправлено прочим ассемблерным кодом. Именно поэтому ГУИ проще - там кода минимум.