Kurs programowania w asemblerze


Porty

Sterownik każdego urządzenia zewnętrznego dołączonego do mikrokomputera IBM PC jest widziany jako pewna grupa rejestrów. Dostęp do tych rejestrów jest zrealizowany przez tzw. porty. Określenie "port" jest używane w dwóch znaczeniach: jako sterownik całego urządzenia (np. port szeregowy) lub jako miejsce w wyróżnionej przestrzeni adresowej wejścia/wyjścia procesora. Ta przestrzeń adresowa (1 KB) podzielona została na dwie 512 bajtowe grupy, które przeznaczone są dla rejestrów wejścia/wyjścia, płyty głównej i różnych modułów systemowych.

Do operacji zapisu i odczytu z portów służą dwie instrukcje: IN oraz OUT. W Pascal'u służy do tego predefiniowana tablica Port.

Przykładowo chcąc odczytać sekundę na zegarze systemowym posługując się pamięcią CMOS napiszemy następujący ciąg instrukcji:


MOV AL,00H

OUT 70H,AL

IN AL,71H

lub za pomocą Pascala


PORT[$70]:=0;

czas:=PORT[$71];

Adresy urządzeń komputera IBM PC i PC XT

AdresOpis
000-01FKontroler DMA - kanały od 0 do 3
020, 021Kontroler przerwań
040-043Czasomierze systemowe
060Klawiatura, zastosowanie pomocnicze
070, 071Zegar czasu rzeczywistego/system CMOS, maska NMI
081-083 i 087Rejestr strony DMA (0-3)
0F0-0FFKoprocesor matematyczny
108-12FNieprzypisany, zarezerwowany przez firmę IBM dla jej zastosowań
130-13FNieprzypisany
140-14FNieprzypisany
150-1EFNieprzypisany
200-207Port gier
208-20BNieprzypisany
20C-20DZarezerwowany
20E-21ENieprzypisany
21FZarezerwowany
220-22xNieprzypisany
230-23xNieprzypisany
240-247Nieprzypisany
250-277Nieprzypisany
278-27FLPT2 lub LPT3 - port równoległy (IRQ5)
280-2AFNieprzypisany
2B0-2DFAlternatywny port EGA
2E1Magistrala GBIP 0
2E2-2E3Zbieranie danych 0
2E4-2E7Nieprzypisany
2E8-2EFCOM 4 - czwarty port szeregowy (IRQ3)
2F8-2FFCOM 2 - drugi port szeregowy (IRQ3)
300-31FKarta prototypowa IBM
320-323Karta pierwszego dysku twardego komputera PC XT
324-327Karta drugiego dysku twardego komputera PC XT
328-32FNieprzypisany
330-33FNieprzypisany
340-34FNieprzypisany
350-35FNieprzypisany
360-363Karta sieciowa PC - niski port wejścia-wyjścia
364-367Zarezerwowane
368-36AKarta sieciowa PC - wysoki port wejścia-wyjścia
36C-36FZarezerwowane
370-377Karta drugiej stacji dyskietek
378-37FLPT2 lub LPT1 - pierwszy lub drugi port równoległy (IRQ7)
380-389Nieprzypisany
380-38CBISYNC_1 lub SDLC_2
390-393Karta Cluster
394-3A9Nieprzypisany
3A0-3ACBISYNC_2 lub SDLC_1
3B0-3BFMonochromatyczna karta graficzna
3BC-3BFLPT 1 - pierwszy port równoległy (IRQ7)- część monochromatycznej karty graficznej
3C0-3CFKarta graficzna EGA
3D0-3DFKarta graficzna CGA
3E0-3E7Nieprzypisany
3E8-3EFCOM3 - trzeci port szeregowy (IRQ4)
3F0-3F7Karta pierwszej stacji dyskietek
3F8-3FFCOM1 - pierwszy port szeregowy (IRQ4)

Adresy urządzeń komputera IBM PC AT

AdresOpis
000-01FKontroler DMA - kanały od 0 do 3
020, 021Kontroler przerwań
040-043Czasomierze systemowe
060Klawiatura, zastosowanie pomocnicze
070, 071Zegar czasu rzeczywistego/system CMOS, maska NMI
081-083 i 087Rejestr strony DMA (0-3)
089-08B i 08FRejestr strony DMA (4-7)
0A0-0A1Kontroler przerwań 2
0C0-0DEKontroler DMA - kanały od 4 do 7
0F0-0FFKoprocesor matematyczny
108-12FNieprzypisany, zarezerwowany przez firmę IBM dla jej zastosowań
130-13FNieprzypisany
140-14FNieprzypisany
150-1EFNieprzypisany
170-177Karta drugiego dysku twardego komputera PC AT
1F0-1F7Karta pierwszego dysku twardego komputera PC AT
200-207Port gier
208-20BNieprzypisany
20C-20DZarezerwowany
20E-21ENieprzypisany
21FZarezerwowany
220-22xNieprzypisany
230-23xNieprzypisany
240-247Nieprzypisany
250-277Nieprzypisany
278-27FLPT2 lub LPT3
280-2AFNieprzypisany
2B0-2DFAlternatywny port EGA
2E1Magistrala GBIP 0
2E2-2E3Zbieranie danych 0
2E4-2E7Nieprzypisany
2E8-2EFCOM 4 - czwarty port szeregowy
2F8-2FFCOM 2 - drugi port szeregowy
300-31FKarta prototypowa IBM
320-323Nieprzypisany
324-327Nieprzypisany
328-32FNieprzypisany
330-33FNieprzypisany
340-34FNieprzypisany
350-35FNieprzypisany
360-363Karta sieciowa PC - niski port wejścia-wyjścia
364-367Zarezerwowane
368-36AKarta sieciowa PC - wysoki port wejścia-wyjścia
36C-36FZarezerwowane
370-377Karta drugiej stacji dyskietek
378-37FLPT2 lub LPT1 - pierwszy lub drugi port równoległy
380-389Nieprzypisany
380-38CBISYNC_1 lub SDLC_2
390-393Karta Cluster
394-3A9Nieprzypisany
3A0-3ACBISYNC_2 lub SDLC_1
3B0-3BFMonochromatyczna karta graficzna
3BC-3BFPierwszy port równoległy - część monochromatycznej karty graficznej
3C0-3CFKarta graficzna EGA
3D0-3DFKarta graficzna CGA
3E0-3E7Nieprzypisany
3E8-3EFCOM3 - trzeci port szeregowy
3F0-3F7Karta pierwszej stacji dyskietek
3F8-3FFCOM1 - pierwszy port szeregowy

Adresy urządzeń w komputerach PS/2

AdresOpis
061-06FSystemowy port sterujący B (PS/2)
090Centralny arbitażowy port sterujący (PS/2)
091Sprzężenie zwrotne wybierania kart (PS/2)
092Systemowy port sterujący A (PS/2)
094Włączenie płyty systemowej/Rejestr konfiguracji
096Włączenie karty/Rejestr konfiguracji
100-107Programowe wybieranie opcji w komputerze PS/2
3220-3227COM2 - trzeci port szeregowy MicroChannel
3228-322FCOM3 - czwarty port szeregowy MicroChannel
4220-4227COM4 - piąty port szeregowy MicroChannel
4228-422FCOM5 - szósty port szeregowy MicroChannel
5220-3227COM5 - siódmy port szeregowy MicroChannel
5228-322FCOM6 - ósmy port szeregowy MicroChannel

Ports - Mapa wszystkich portów komputera 75.5KB


Autor: Karol Wierzchołowski, opracowano: 12.01.2002 r. Wszelkie prawa zastrzeżone.
Kontakt

Jeśli chcesz się z nami skontaktować napisz na adres: info(at)binboy.org lub odwiedź nasz profil na Facebooku!

O Nas

Serwis binboy.org to kopalnia wiedzy dla wszystkich z branży IT, w szczególności dla programistów i webmasterów. To duży zbiór kursów programowania, tutoriali, darmowych ebooków, setki kodów źródłowych itp.

Bądź w kontakcie

Panel użytkownika

Zaloguj się do panelu użytkownika.
Nie masz konta? Zarejestruj się!
Zapomniałeś hasła?