2011-12-23 5 views
1

어셈블리 언어를 사용하여 사용자가 입력 할 때마다 숫자/문자의 ASCII 코드가 'AL'레지스터에 저장됩니다. 같은 방식으로 내가 'Ctrl + C', 'Ctrl + V'또는 'Ctrl + X'등 어떤 작업을 시스템에서 수행했는지 알고 싶습니다.시스템이 특수 전용 키에 대한 작업을 어떻게 수행합니까?

  • 스캔 코드 저장 방법 ?
  • 절차는 무엇입니까?
  • 시스템에서 레지스터를 사용하고 있습니까?

주로 위의 지침에서 하드웨어가 수행 한 내부 작업을 파악하는 데 중점을 둡니다.

+0

OS (Windows, Linux, Mac) 내부의 어셈블리 프로그래밍이나 자신의 OS 등을 롤링하는 것과 같은 낮은 수준의 프로그래밍에 대해 이야기하고 있습니까? – DarkDust

+0

OS 내부 프로그래밍. –

+0

* 어떤 OS입니까? 그들은 그것을 다르게합니다. – DarkDust

답변

1

매우 광범위한 용어로이 기능은 BIOS의 키보드 루틴에 의해 정의됩니다. This document은 MS-DOS에 중점을두고 있지만 저수준 BIOS 키보드 루틴에 대한 설명을 제공합니다. 여기에 설명 된 표준 PC BIOS에서는 일반적으로 키 입력의 scan code을 포함하는 AH 레지스터의 값을 해석해야합니다. 예를 들어 표준 US PC-AT 키보드에서 Ctrl 키 다운 스캔 코드는 0x1D입니다.

0

일반적으로 OS는 BIOS를 사용하거나 직접 키보드 인터럽트를 걸러 내고 키보드에서 메이크/브레이크 코드를 가져옵니다 (키보드는 메이크/브레이크 모드라고 가정합니다. 보통은 그렇지만 반드시 필요하지는 않습니다). 있다).