2011-12-03 7 views
7

Czytam kod Linuksa. keyboard.S ma coś podobnegoco oznacza "outb" w AT & T asm?

outb %al,$0x61 

i

inb $0x61,%al 

myślę, że w oczekiwaniu na 'B' oznacza 'bajt', ale nadal nie mogę znaleźć co te instrukcje na myśli.

+1

Rdzenie Intel mają magistralę We/Wy, odrębną od magistrali pamięci. Port 0x61 to rejestr kontrolny klawiatury. http://www.tek-tips.com/viewthread.cfm?qid=258828 –

+1

Możliwy duplikat [Do czego służą instrukcje IN & OUT w x86?] (http://stackoverflow.com/questions/3215878/what -to-in-out-instructions-in-x86-used-for) –

Odpowiedz

14

OUT i IN to instrukcje dotyczące przesyłania danych między portami we/wy. Oto kilka linków, które znalazłem, które dostarczają nieco więcej informacji.

Jak wspomniano, b jest formą byte z tych instrukcji, co jest właściwe, ponieważ używasz dolny bajt ax (al).

+0

Przepraszam, zapomniałem zaakceptować odpowiedź ... – onemach

5

Tak, instrukcje wyjścia i portu można zakodować dla 8 bitów danych lub 16 bitów danych. Symbol b wskazuje bajt będący wersją 8-bitową.