10

I am reading some code of Linux. The keyboard.S has something like

outb %al,$0x61

and

inb $0x61,%al

I think the pending 'b' means 'byte', but i still cannot find what these instructions mean.

Peter Cordes
  • 286,368
  • 41
  • 520
  • 731
onemach
  • 4,055
  • 6
  • 33
  • 49

2 Answers2

19

OUT and IN are instructions for transferring data between I/O ports. Those are a couple of links I found which provide a bit more information.

As you mentioned, the b is the byte form of those instructions, which is appropriate since you're using the lower byte of ax (al).

nemo
  • 51,795
  • 12
  • 128
  • 131
AusCBloke
  • 17,344
  • 6
  • 39
  • 44
5

Yes, the out port and in port instructions can be encoded for 8 bits of data or 16 bits of data. The b indicates byte which is the 8 bit version.

old_timer
  • 65,648
  • 8
  • 82
  • 159