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
23-12-2010, 13:06
Mensagem: #2
RE: Ajuda URGENTE Assembly
Vendo assim de repente, existe um label CA5 mas não um CA4, logo é natural o erro que estás a ter (enganaste-te no nome de um deles?)

Pedidos de ajuda via PM serão ignorados
Acordo ortográfico? Desconheço, obrigado Wink
Agradeço ao Chrome o facto de os meus posts nao terem acentos Evil
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
23-12-2010, 16:34
Mensagem: #3
RE: Ajuda URGENTE Assembly
Boas Corvus,

então alterando para CA5, deve rolar logo ?
vou experimentar..

cumprimentos
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
23-12-2010, 20:57
Mensagem: #4
RE: Ajuda URGENTE Assembly
Nota que não verifiquei minimamente a correção do programa, apenas notei que tens um salto condicional para um label que não existe e um label com o nome mt parecido Wink

Mas (falo por experiência própria) ter programas em asm que não funcionam exactamente como pretendemos é sempre uma experiência "interessante" Tongue

Pedidos de ajuda via PM serão ignorados
Acordo ortográfico? Desconheço, obrigado Wink
Agradeço ao Chrome o facto de os meus posts nao terem acentos Evil
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
24-12-2010, 01:41
Mensagem: #5
RE: Ajuda URGENTE Assembly
O que aconselha a fazer?

obrigado
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
24-12-2010, 03:13
Mensagem: #6
RE: Ajuda URGENTE Assembly
Apenas que verifiques o programa com cuidado antes de o executares.

Pedidos de ajuda via PM serão ignorados
Acordo ortográfico? Desconheço, obrigado Wink
Agradeço ao Chrome o facto de os meus posts nao terem acentos Evil
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
27-12-2010, 14:41
Mensagem: #7
RE: Ajuda URGENTE Assembly
Boas.
ja revi o código e n vejo onde esta o erro.
algum pode ajudar a compilar o programa?

Boas festas para todos
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
03-01-2011, 12:32
Mensagem: #8
RE: Ajuda URGENTE Assembly
HELP !!!!!!!!!!
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
03-01-2011, 17:56
Mensagem: #9
RE: Ajuda URGENTE Assembly
Afinal, qual é o problema ao certo? E, já agora, foste tu que fizeste o programa e tens conhecimentos minimos de asm? É pq se não tens, não vai ser fácil qq ajuda

Pedidos de ajuda via PM serão ignorados
Acordo ortográfico? Desconheço, obrigado Wink
Agradeço ao Chrome o facto de os meus posts nao terem acentos Evil
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
03-01-2011, 23:49
Mensagem: #10
RE: Ajuda URGENTE Assembly
Boas, tenho poucos conhecimentos,sei o básico.
ao compilar o programa com qualquer compilador,dá-me um erro na linha onde eu tinha assinalado a negrito.o programa foi um colega que me desenvolveu,mas nunca mais falei com ele para me ajudar.
precisava mesmo do programa a trabalhar.

cumprimentos a todos

BOM ANO!!
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
Colocar Resposta 


Saltar Fórum:


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