Rutinas Hibridas ensablador c++

George
19 de Agosto del 2008
Muy buenos dias.

Tengo una rutina hibrida en ensamblador para c++, estoy trabajando en c++ builder de borland, es la siguiente rutina

_asm{
MOV DX, 60H
MOV AL, 0EEH
OUT DX, AL
IN VAL, DX <---- esto no se si este bien
}

en laparte de IN y OUT me dice "Illegal Instruction"

Lo que quiero hacer es mandar el valor 0EEH a el puerto 60H para que el procesador del teclado me devuelva el mismo valor, tengo entendido que es como una herramienta de diagnostico. Se supone que me tiene que devolver el mismo 0EEH, pero no se como leer o guardar lo que me manda.

Y en esta otra:

_asm{
MOV AX, 0
INT 0x33
MOV VAL, AX
}

Sale error cuando va allamar ala interrupcion 0x33, no tengo idea de porque. Tambien esta en c++ Builder de Borland.

Saludos y gracias por su ayuda.

George
19 de Agosto del 2008
Olvide decir que es C++ Builder 6 de borland, y lo mando llamar de un boton para probarlo, la idea es poner un timer cada 1 segundo.

cya