soon i would like to learn how to write hardware drivers, and im just wondering, what exactly is passed in imm/dx of in/out instructions?
port number?
what does it mean?
its like:
usb0 - 0
usb1 - 1
pci - 2
pci-e - 3
agp - 4
sata1 - 5
sata 2 - 6
??
or what?
1 reply to this topic
#1
Posted 25 December 2009 - 07:36 AM
|
|
|
#2
Posted 28 December 2009 - 07:21 AM
Definitely not that simple. Here's an example of programming the keyboard controller with IO ports.
The IN/OUT instructions in Intel assembly language (I'm assuming that's what you're using) uses DL or DX to determine the port to send data out on, and AL or AX to hold the data to send. This information is sent to the I/O controller which reroutes the data bytes (i.e. the stuff in AL or AX) to the proper device.
Here's a comprehensive list of port numbers and their associated devices.
The IN/OUT instructions in Intel assembly language (I'm assuming that's what you're using) uses DL or DX to determine the port to send data out on, and AL or AX to hold the data to send. This information is sent to the I/O controller which reroutes the data bytes (i.e. the stuff in AL or AX) to the proper device.
Here's a comprehensive list of port numbers and their associated devices.
Edited by dargueta, 28 December 2009 - 07:23 AM.
Added link
sudo rm -rf /
1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users


Sign In
Create Account


Back to top









