Адресация портов ввода / вывода
В последнее время я много читал об адресации портов и тому подобном и знаю, что, скажем, порт 0x20, 0x21, 0xA0 и 0xA1 - это PIC 8259A, 8253/8254 PIT на порту 0x40-0x47, порты 0x60-0x64 - контроллер клавиатуры, 0x3F0-0x3F6 - это контроллер флоппи-дисковода ext. Я пытаюсь узнать о вещах, связанных с семейством процессоров 8086+, и видел в Интернете несколько книг, которые, кажется, очень стоят покупки. Если есть какие-либо предложения по таким книгам, пожалуйста, дайте мне знать.
Однако, к моему удивлению, я до сих пор не уверен, как и откуда на самом деле берутся эти номера портов? Отображаются ли они, как если бы IDT где-то занимала место для векторной таблицы? Насколько я понимаю, вы можете перенастроить номера портов в Windows, или это неверно? Или они встроены в схемы распиновки процессоров? Как узнать, какие порты предназначены для какого устройства и какие именно порты есть на компьютере?