Addressing a Card

by Johannes Helmig [Published on 29 May 1998 / Last Updated on 29 May 1998]

In a PC, the CPU is the active component, controlling all other parts.
For that, it is required, that each component can be identified WITHOUT interference of other components. This is done by assigning a UNIQUE address (Think about it like a discussion in a group of people: when you ask the question: "John, how are you doing ?" and there is more than one "John" in the group, you would get most probably simultaneously an answer from multiple persons, which you then would not understand. It is the same with computers)

Addresses in a PC are numbers, but in PC's it is custom to express such addresses in a special method: "Hexadecimal".

To explain that, lets first see, how humans are counting, which is based on having 10 fingers on 2 hands:

16
27
38
49
510

As soon we have reach our maximum number of fingers, we need a second pair of hands to continue to count:

10
11
12
13

and it continues. Staring at 99/100, a third pair of hands is required.

But computers do NOT have hands with fingers, they work with electricity, which is either on or off.
Lets continue with the pictures of a hand, but lest use only 1 thumb of 1 hand, which is:

UP: Power ON
Down: Power OFF

Such an item with status ON/OFF is called: a BIT.
Numbers expressed in "Bits" are "Binary" number.

Lets count now again, and you see, we need a lot of additional thumbs:

Counting
"Binary"
Counting
Decimal
11
102
113
1004
1015
1106
1117
10008
10019
101010
101111
110012
110113
111014
111115
1000016
1000117
1001018
1001119
1010020
1010121

These binary number are getting quickly very long and are very difficult to remember, so it is now custom to express such binary numbers as "hexadecimal" number, i.e. we combine 4 binary Bits to a single character:

Binary:Decimal:Hexadecimal:
0
1
10
11
100
101
110
111
1000
1001
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
1010
1011
1100
1101
1110
1111
10
11
12
13
14
15
A
B
C
D
E
F
Up to the number 9, the counting is the same for
Decimal and Hexadecimal.
But the numbers 10-15 are expressed using the
characters A-F
1
1
1
0000
0001
0010
16
17
18
10
11
12


Hexadecimal numbers are often marked with an 'h' at the end, to avoid to have them mistaken as decimal numbers ( example: 100h = 256).

Why do we need to take it up with these "hexadecimal" number ?
Because it has become custom on PC-compatible hardware components to express the addresses as Hexadecimal numbers !

These hardware addresses are also called:
- Input/Output Address
- Input/Output Port
-
I/O Port
or just:
- Port


You can view the addresses already assigned in your Windows95 system:



There are some defaults:

3F8h:Serial port COM1
2F8h:Serial port COM2
3E8h:Serial port COM3
2E8h:Serial port COM4

For Network cards (NIC's), addresses 300h, 320h and 340h are most often used.

See Also

Featured Links