Chanceux,
Un vieux source en 16 bits donne la réponse
adresse du tampon clavier
seg 40H: offset 1AH
Le principe est que a l'adresse si +2 se trouve un byte donnant la longeur des codes touches écrits.Lire la doc devrait être plus facile.
suit le source pour le clavier:
CLAVIER: PUSH AX
PUSH BX
PUSH CX
PUSH ES
PUSH DI
PUSH SI
LEA DI,INSERE
MOV AL,[DI]
CMP AL,0
JZ VIDE ;rien a inserer?
PUSH DI
PLEIN: MOV AL,[DI]
INC DI
CMP AL,0
JNZ PLEIN
MOV CX,DI
DEC CX
POP DI
SUB CX,DI ;CX nombre de caracteres a inscrire
LEA SI,TAMP_VIDE
XOR BX,BX
MOV BL,CL
ADD BL,CL
ADD BL,1EH
MOV [SI+2],BL ;offset fin tampon
XOR AX,AX
ADD SI,4
QQQS: MOV AL,[DI]
MOV [SI],AX
INC DI ;ecrit dans tampon
INC SI
INC SI
LOOP QQQS
VIDE: MOV AX,40H ;recopie dans tamp clavier
MOV ES,AX
MOV DI,1AH ;ES:[DI] tamp clavier
MOV CX,18 ;16 DW pour le tampon
LEA SI,TAMP_VIDE
CLD ;incremente le pointeur
REP MOVSW ;copie TAMP dans tamp clavier 40:1A H
POP SI
POP DI
POP ES
POP CX
POP BX
POP AX
SAHF
RET
INSERE DB 'COMPACT\',16 DUP(0),'FIN TAMPON' ;16 dw,lettres
TAMP_VIDE DB 1EH,00,1EH,00 ;seg 40H: offset 1AH
DB 32 DUP(0)