А не надо обнулять
надо если с момента последнего чтения порта новых сканкодов не приходило к примеру читать 0 или FF
Лучше 00, старший битик можно заюзать как признак что сканкод был с префиксом E0, можно будет о вскаких Fx или нажатиях на доп клаве
Но понадобится еще один регистр где будет текущее состояние клавиш модификаторов ctrl shift итд