Самая популярная архитектура для персональных компьютеров в мире

Порты ввода-вывода - список и описание

Порты ввода-вывода - это логические номера, через которые цетральный процессор обращается к внешним устройствам. Порты - это аналог адресов оперативной памяти, только относящиеся к внешним устройствам. Из порта можно читать информацию и записывать в него.

Список стандартных портов ввода-вывода

Номер порта ввода-вывода - это число от 0 до 65535. Первые 256 адресов - зарезервированы под архитектуру IBM PC совместимых компьютеров. Остальные порты могут использоваться сторонним оборудованием, хотя многие из них тоже стандартны.
000-00FКонтроллер DMA
010-01FКонтроллер DMA (PS/2)
020-02FГлавный контроллер прерываний
030-03FПодчиненный контроллер прерываний
040-05FProgrammable Interval Timer (PIT)
060-06FКонтроллер клавиатуры
070-071Часы реального времени
080-083DMA Page Register
090-097Programmable Option Select (PS/2)
0A0-0AFPIC #2
0C0-0CFDMAC #2
0E0-0EF
0F0-0FFМатематический сопроцессор, PCJr Disk Controller
100-10FProgrammable Option Select (PS/2)
110-16F
170-17FHard Drive 1 (AT)
180-1EF
1F0-1FFHard Drive 0 (AT)
200-20FGame Adapter
210-217Expansion Card Ports
220-26F
278-27FParallel Port 3
280-2A1
2A2-2A3clock
2B0-2DFEGA/Video
2E2-2E3Data Acquisition Adapter (AT)
2E8-2EFПоследовательный порт COM4
2F0-2F7
2F8-2FFПоследовательный порт COM2
300-31FPrototype Adapter, Periscope Hardware Debugger
320-32F
330-33F
340-35F
360-36FNetwork
370-377Контроллер дисковода для гибких магнитных дисков
378-37FПараллельный порт LPT2
380-38FSDLC Adapter
390-39FCluster Adapter
3A0-3AF
3B0-3BFMonochrome Adapter
3BC-3BFПараллельный порт LPT1
3C0-3CFEGA/VGA
3D0-3DFColor Graphics Adapter
3E0-3EFПоследовательный порт COM3
3F0-3F7Контроллер дисковода для гибких магнитных дисков
3F8-3FFПоследовательный порт COM1

Роль портов ввода-вывода

Порты ввода-вывода являются основным средством взаимодействия с внешним оборудованием. Даже при использовании механизма прямого доступа к памяти, команды внешним устройствам выдаются посредством портов.

Работа с портами ввода вывода из ассемблера

Для работы с портами ввода-вывода из ассемблера существуют команды процессора IN и OUT. Они позволяют отправлять в шину данные и читать из шины. Для отправки байта в порт ввода-вывода нужно записать отправляемое значение в регистр AL/AX/EAX и вызвать команду OUT.

mov al, 42h
out 60h, al
	
Для чтения данных из порта можно воспользоваться командой IN:
in al, 60h
; в регистре AL будет прочитанное значение
	

Copyright (c) 2014, cpubook.ru
Архитектура x86