Ввиду того, что программные прерывания использовать не планируется, можем несколько упростить задачу, а именно, обрабатывать не всю клаву, а только: ЦИФРЫ, ПРОБЕЛ (выступает разделителем) и ВВОД — конец строки.
Подсказка сканкодов:
Клавиша нажата (старший бит сброшен):
'1' — 02h
'2' — 03h
'3' — 04h
...
'9' — 0Ah
'0' — 0Bh
'space' — 39h
'enter' — 1Ch
При отпущенной клавише старший бит установлен в 1.
'1' — 82h
'2' — 83h
...
И да, достаём сие из 60h порта.