2011-12-03 9 views
7

Estoy leyendo un código de Linux. El keyboard.S tiene algo así como¿Qué significa "outb" en AT & T asm?

outb %al,$0x61 

y

inb $0x61,%al 

Creo que el 'B' en espera significa 'byte', pero todavía no puedo encontrar lo que significan estas instrucciones.

+1

Los núcleos Intel tienen un bus de E/S, distinto del bus de memoria. El puerto 0x61 es un registro de control del teclado. http://www.tek-tips.com/viewthread.cfm?qid=258828 –

+1

Posible duplicado de [¿Para qué se utilizan las instrucciones IN & OUT en x86?] (http://stackoverflow.com/questions/3215878/what -are-in-out-instructions-in-x86-used-for) –

Respuesta

14

OUT y IN son instrucciones para transferir datos entre los puertos de E/S. Esos son algunos enlaces que encontré que proporcionan un poco más de información.

Como usted ha mencionado, la b es la forma byte de esas instrucciones, el cual es apropiado, ya que está utilizando el byte inferior de ax (al).

+0

lo siento Olvidé aceptar la respuesta ... – onemach

5

Sí, las instrucciones del puerto de salida y del puerto se pueden codificar para 8 bits de datos o 16 bits de datos. El b indica byte, que es la versión de 8 bits.

Cuestiones relacionadas