9

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.

Kevin Panko
  • 7,844
  • 19
  • 46
  • 58
onemach
  • 3,847
  • 5
  • 32
  • 47

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
  • 47,577
  • 10
  • 122
  • 123
AusCBloke
  • 16,716
  • 6
  • 38
  • 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
  • 62,459
  • 8
  • 79
  • 150