getch propia para no usar getch de conio

Iniciado por neo_from_cs_matrix, 22 Agosto 2011, 01:30 AM

0 Miembros y 1 Visitante están viendo este tema.

neo_from_cs_matrix

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;
}



Eternal Idol

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
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón

neo_from_cs_matrix

#2
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

Eternal Idol

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 ...
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón