바이오스로 키보드 드라이버 어떻게하는지좀 도와주세요...
글쓴이: proal / 작성시간: 목, 2015/06/11 - 4:16오후
16비트 OS에서 기본적인 쉘스크립트를 작성해볼려고 하는데 키보드를 작동시킬려고 여러 코드도 봐보고 했는데 안되네요...
BITS 16]
START:
mov ax,cs
mov ds,ax
mov es,ax
mov di,arr
CONT:
mov ah,0
int 16h ;read char, al=char
cmp al,0dh ; is al=enter
jz DONE
mov ah,0eh
int 10h
stosb
jmp CONT
DONE:
mov al,10
mov ah,0eh
int 10h
mov al,13
mov ah,0eh
int 10h
push arr
call PRINTSTR
jmp 0x1000:0
PRINTSTR:
pusha
mov bp,sp
mov si, [bp+18]
K:
lodsb
cmp al,0
jz FIN
mov ah,0eh
int 10h
jmp K
FIN:
mov sp,bp
popa
ret
arr times 50 db 0
일단 이코드를 주워서 써보고 있는데 안되네요... 어떻게는 돌아가는 원리만 알면 좋을거 같은데 말이죠
Forums:
ralf brown's interrupt list -
ralf brown's interrupt list - http://www.ctyme.com/rbrown.htm
bios에서 제공하는 interrupt service중 int 13h에 getchar() 비슷한 기능을 하는 게 있습니다. 그걸로 입력 받으면 됩니다.
키보드 직접 제어할려면 irq를 이용한 비동기처리까지 들어가기때문에 복잡해집니다.
Written By the Black Knight of Destruction
댓글 달기