Colocar Resposta 
 
Avaliação do Tópico:
  • 0 votos - 0 Média
  • 1
  • 2
  • 3
  • 4
  • 5
Ajuda URGENTE Assembly
22-12-2010, 17:41
Mensagem: #1
Ajuda URGENTE Assembly
Boas,

Queria desactivar 6 teclas(P,R,4,ESC,DEL,4) do teclado em ms-dos
criando um executável em assembly.
Da-me um erro(linha que esta a negrito) a compilar com o masm32 o código é este:

KB_DATA EQU 60H
KB_CTRL EQU 61H
EOI EQU 20H
INT_CTRL_PORT EQU 20H
R_KEY EQU 83 ; codigo para a tecla "r"

;
CODE SEGMENT PARA PUBLIC 'CODE'
ASSUME CS:CODE
ORG 44
ENVIRON DW ?
ORG 100H
BEGIN: JMP INITIALIZE

OLD_INT_9H LABEL DWORD
OLD_KBD_INT DW 2 DUP (?)

;
CTRLALT PROC NEAR
STI
PUSH AX
PUSH BX
PUSH CX
PUSH DX
PUSH SI
PUSH DI
PUSH DS
PUSH ES
IN AL,KB_DATA
CMP AL,R_KEY
JNE CA4
MOV AH,2
INT 16H
JNE EXIT
MOV AH,2
INT 16H
JE EXIT

;
CALL KB_RESET
;
MOV AH,25H
MOV AL,9
MOV DX,OLD_KBD_INT[2]
MOV DS,DX
MOV DX,OLD_KBD_INT
INT 21H
JMP DONE
;
EXIT: POP ES
POP DS
POP DI
POP SI
POP DX
POP CX
POP BX
POP AX
JMP OLD_INT_9H
;
CA5: CALL KB_RESET
DONE: POP ES
POP DS
POP DI
POP SI
POP DX
POP CX
POP BX
POP AX
IRET ;
CTRLALT ENDP
;
KB_RESET PROC NEAR
IN AL,KB_CTRL
MOV AH,AL
OR AL,80H
OUT KB_CTRL,AL
MOV AL,AH
OUT KB_CTRL,AL
CLI
MOV AL,EOI
OUT INT_CTRL_PORT,AL
STI
RET
KB_RESET ENDP


INITIALIZE PROC NEAR


MOV AH,35H
MOV AL,9
INT 21H
MOV OLD_KBD_INT,BX
MOV OLD_KBD_INT[2],ES
MOV AH,25H
MOV AL,9
LEA DX,CTRLALT
INT 21H
;
MOV AX,ENVIRON
MOV ES,AX
MOV AH,73
INT 21H
;
MOV DX,OFFSET INITIALIZE
INT 27H
INITIALIZE ENDP
;
CODE ENDS
END BEGIN


Cumprimentos

obrigado
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
Colocar Resposta 


Mensagem neste Tópico
Ajuda URGENTE Assembly - a3deluxe - 22-12-2010 17:41
RE: Ajuda URGENTE Assembly - Corvus - 23-12-2010, 13:06
RE: Ajuda URGENTE Assembly - a3deluxe - 23-12-2010, 16:34
RE: Ajuda URGENTE Assembly - Corvus - 23-12-2010, 20:57
RE: Ajuda URGENTE Assembly - a3deluxe - 24-12-2010, 01:41
RE: Ajuda URGENTE Assembly - Corvus - 24-12-2010, 03:13
RE: Ajuda URGENTE Assembly - a3deluxe - 27-12-2010, 14:41
RE: Ajuda URGENTE Assembly - a3deluxe - 03-01-2011, 12:32
RE: Ajuda URGENTE Assembly - Corvus - 03-01-2011, 17:56
RE: Ajuda URGENTE Assembly - a3deluxe - 03-01-2011, 23:49
RE: Ajuda URGENTE Assembly - Corvus - 04-01-2011, 11:44

Saltar Fórum:


Utilizadores a ver este tópico: 3 Visitante(s)