Нажимаем клавишу на клавиатуре.
Перемещаем окно.
Результат:

Скорее всего, потому что отсутствует обработка нажатия клавиатуры.
Можно или просто считывать код клавиши из буфера, или установить соответствующую маску событий.
Из исходника:
Quote:
;.................................................................................................
; Берем цвет с палитры в переменную
;.................................................................................................
mov eax,35 ; Функция взятия цвета
;mov ebx,ecx ;; ebx = y*xsize+x (лишний код)
int 0x40 ; Получаем цвет в eax
cmp eax,[sc.work] ; Сравниваем с фоном приложения
je mouse_exit ; Если это он - то ничего не делаем
cmp eax,0x222222 ; Сравниваем с цветом сетки
je mouse_exit ; Если это он - то ничего не делаем
mov [color],eax ; Иначе запоминаем новый цвет
call draw_result ; Выводим результат
mouse_exit:
ret ; Возвращаем управление
;end_mouse_get----------------------------------------------------------------------------------------
Будет работать неправильно, если палитра содержит цвет фона.