este es un requerimiento, necesito esta funcion getch andando por favor, la parte principal esta en este lenguage que no entiendo, y encima lo debo estudiar ironicamente para mi uni, parecen 3 lineas pero no se que hacen y no anda, me tira error cuando la trato de usar. alguno puede arreglar esta funcion se lo agracederia
unsigned char GETCH(void)
{
unsigned char key;
_asm
{
start:
mov ah,0
int 0x16
cmp al,0
je start ; don't process special keys
mov key,al
}
return key;
}
Este codigo (de MS-DOS) llama al servicio 0 de la interrupcion 16h. Aca podes leer que hace exactamente:
http://www.ctyme.com/intr/rb-1754.htm
perdon pero el codigo ese de ms dos es de 16 bits segun dicen en la fuente, pero entiendo que compilandolo con visual studio que es un compilador de 32 bits va a funcionar este codigo?
de hecho asi como esta no funciona porque tira error de memoria, por eso decia ..
en dicho caso , como se hace para que un codigo asi de 16 bits ande en 32 bits
No podes, solamente podrias ejecutar ese codigo con un programa de 16 bits (Windows lo emula). Lo que si podes hacer es usar la API de Windows para obtener la misma funcionalidd ...