SoloCodigo

Programación General => ASM (Ensamblador) => Mensaje iniciado por: onca en Martes 2 de Julio de 2013, 01:30

Título: leer caracter sin eco con int 0x80
Publicado por: onca en Martes 2 de Julio de 2013, 01:30
Hola a todos:

Estoy aprendiendo a programar assembler I8086 en Linux.

Utilizo el compilador nasm, y el linker ld.

Mi problema es que no sé cómo leer un carácter desde el teclado pero "sin eco", y que además no espere un ENTER.

He probado usando

   mov eax,3      ; servicio de lectura
   mov ebx,0      ; descriptor del teclado
   mov ecx,tecla ; la variable receptora
   mov edx,1      ; cantidad de bytes a leer
   int 0x80         ; llamada al kernel

pero no sólo me muestra la tecla apretada, sino que además espera un ENTER.  :fire:

He leído todo el listado de los servicios de la int 0x80, y la verdad es que no entiendo nada. 

¿existe alguna forma de leer sólo un carácter del buffer sin esperar nada más?  :ayuda:

Desde ya les agradezco su atención, y les mando un saludo fraternal.

Rubén.

Título: Re:leer caracter sin eco con int 0x80
Publicado por: Eternal Idol en Miércoles 24 de Julio de 2013, 11:20
http://stackoverflow.com/questions/7469139/what-is-equivalent-to-getch-getche-in-linux