Курсовая работа: Низькорівневе програмування контроллера клавіатури

mov [ES:9*4],AX

mov AX,[OldKbdIntSegment]

mov [ES:9*4+2],AX

sti

pop ES

popa

ret

ENDP RestoreOldKeyboardInterrupt

ENDS

END

А ось приклад розробки програми на мові С:

void interrupt (*SvInt09)(void)=NULL;

int IsBIOSActive=1;

char KeyPressed[256];

char CurKey;

void ProcessKeyb(void)

{ static PrevKey=0;

char key,IsGray;

key=inportb(0x60);

if(PrevKey==224) IsGray=0x80; else IsGray=0;

if(key!=224) /* если не признак черной клавиши"... */

{ if(key&0x80) /* клавиша отпущена */

KeyPressed[(key&0x7F)|IsGray]=0;

else /* клавиша нажата */

KeyPressed[(key&0x7F)|IsGray]=1;

}

if(!(key&0x80)) CurKey=key|IsGray;

PrevKey=key;

}

К-во Просмотров: 286
Бесплатно скачать Курсовая работа: Низькорівневе програмування контроллера клавіатури