Форум программистов, компьютерный форум, киберфорум
Наши страницы

Assembler, MASM, TASM

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 25, средняя оценка - 5.00
klesvart
1 / 1 / 0
Регистрация: 01.12.2010
Сообщений: 13
#1

какие биты на каком порту и за что отвечают? - Assembler

21.12.2010, 13:16. Просмотров 3428. Ответов 5
Метки нет (Все метки)

Assembler
1
2
3
     in     AL,70h  ; читаем 70h порт
    or      AL,80h  ; ставим восьмой бит
    out     70h,AL  ; запихиваем на место
Assembler
1
2
3
4
; открываем линию А20 (для 32-х битной адресации):
        in      AL,92h
        or      AL,2
        out     92h,AL
Ниче не говорящие мне строки,кроме команд проца! Так вот какие биты на каком порту и за что отвечают? Посоветуйте ,пожалуйста, ресурсы для заполнения мозга такой информацией. Знаю что есть доступ к 256 портам ввода/вывода, а где эти порты и на кой уж они сдались?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.12.2010, 13:16
Здравствуйте! Я подобрал для вас темы с ответами на вопрос какие биты на каком порту и за что отвечают? (Assembler):

Шина USB: на каком порту или портах работать с хост-конроллером - Assembler
Ребята подскажите на каком порту или портах работать с хост-конроллером в компьютере архитекторы x86, какие адреса при этом использует...

Стоит 4 гига. Windows7 64. Что лучше сделать,отключить часть процесса автозапуска,а какие за что отвечают не пойму, или докупить ещё планок памяти? - Оперативная память
Не давно заметил что комп иногда "притормаживает",а гаджет "индикатор ЦП" показывает нагрузку в тот момент до 70% озу. Стоит 4 гига....

Какие службы отвечают за полосу прокрутки? - Windows XP
В админпанели сайта для редактирования групп товаров есть небольшое окошко с возможностью вертикальной прокрутки. И эта полоса в режиме...

Какие пины отвечают за вход и выход в ATMega8? - Микроконтроллеры
Буду много спрашивать. Не посылайте читать, это утомляет, просто ответьте. Которые ноги отвечают за вход и выход данных в atmega 8?...

Какие классы в .NET отвечают за переполнение буфера? - .NET
Какие классы на .NET отвечают за переполнение буфера, если такие имеются?

Какие компонентные функции отвечают за создание объекта? - C++
Какие компонентные функции отвечают за создание объекта? Такой вопрос, может кто ответить?:) я не могу найти нигде...:(

5
Mikl___
Заблокирован
Автор FAQ
22.12.2010, 04:22 #2
klesvart, это будет зависеть от номера порта и договоренностью между разработчиками аппаратуры. Портов на самом деле не 256 а 64к просто для доступа к младшим портам можно использовать непосредственный номер а для портов с номерами больше 255 номер порта задается через регистр DX.
Порт – это как бы канал связи микропроцессора с внешним миром. Через порт микропроцессор получает сигналы от устройств ввода, либо посылает сигналы на устройства вывода. Теоретически микропроцессор управляет 65536 портами, начиная с нулевого порта. Для управлением вводом-выводом непосредственно на уровне порта используются команды IN и OUT. Каждое устройство (винчестер, видео-, звуковая карта и т.д.) имеет несколько портов, через которые осуществляется управление.
Порты 70h и 71h соответствуют CMOS’у. Чтобы программировать CMOS, надо сначала вывести в порт 70h то, что вы хотите изменить в CMOS’е (дата, время, настройки винчестера, пароль), а затем ввести в порт 71h новое значение (дату, время, параметры винчестера и так далее). Сначала выводим в порт 70h число 5Eh, которое означает, что мы будем изменять настройку пароля ON/OFF. Затем выводим в порт 71h ноль, что соответствует отключению пароля (чтобы пароль включить, надо вывести единицу).
Кроме CMOS'а, напрямую через порты ввода/вывода можно управлять клавиатурой, системным динамиком, винчестером, флоппиком, видеоадаптером, таймерами, принтером, сканером а также микропроцессорами для управления потоком данных. Микропроцессор IA32/64 имеет два различных физических адресных пространства: ПАМЯТЬ и ВВОД/ВЫВОД. Обычно, внешние устройства помещаются в пространстве ВВОДА/ВЫВОДА, хотя микропроцессор IA32/64 также поддерживает внешние устройства распределения памяти. Объем пространства ВВОД/ВЫВОД 64Кбайт и может быть разделено на 64К 8-разрядных портов, 32К 16-разрядных портов, 16К 32-разрядных портов или другую комбинацию устройств, которые в сумме не превышает 64 Кбайт. 64К адресное пространство ВВОД/ВЫВОДА относится к физической памяти, а не к линейному адресу, поскольку команды ввода/вывода не проходят через устройства, выполняющие сегментацию или разбиение на страницы. Для работы памяти ВВОДА/ВЫВОДА задействована дополнительная адресная линия M / IO, позволяющая определить, к какому адресному пространству в настоящее имеет доступ микропроцессор. Доступ к портам ВВОДА/ВЫВОДА можно получить через команды: IN (операнд) или OUT (операнд), где операнд содержит адрес порта в виде непосредственного операнда (если не превышает 256) или находится в регистре DX. Все 8 и 16 бит адреса порта имеют нулевое расширение (то есть не расширяются) на верхних адресных линиях. Команды ввода/вывода вызывают цикл ожидания, так как работают гораздо медленнее микропроцессора.
1
klesvart
1 / 1 / 0
Регистрация: 01.12.2010
Сообщений: 13
22.12.2010, 22:19  [ТС] #3
А каие порты нужно знать для написания ос, используя стандартные средства мат платы, мож достаточно CMOS изучить(я подозреваю)? Или " другая мамка - другой порт","другой СMOS - другие биты на портах"? Так я вас понял?

Добавлено через 27 минут
Может быть стандарты какие ессть?
К слову
Я просто увидел строчки текста которые хочется копнуть глубже! Но земля твердая(мож я мороз)
Мож дока какая есть где-нить в формате:
92h bit8 - открытие линии A20:1 открыта, 0 закрыта.
70h зн.12h работаем с тем-то на порту 71h!
Вот типа как вы описали 70h порт.Только ххh - время, ххh дата...
Растерялся совсем!
0
Mikl___
Заблокирован
Автор FAQ
23.12.2010, 04:48 #4
klesvart, назначение битов в CMOSе я расписал в теме Объем CMOS по остальным портам научись наконец использовать Google и учебники
0
vital792
1995 / 1267 / 56
Регистрация: 05.06.2010
Сообщений: 2,213
23.12.2010, 08:33 #5
klesvart, возьми учебник Зубкова, "Assembler-язык неограниченных возможностей" раздел 5.10 - "Программирование на уровне портов ввода-вывода" - там найдешь на половину нужной информации, или Кулаков - "Программирование на аппаратном уровне" - там всё.
0
klesvart
1 / 1 / 0
Регистрация: 01.12.2010
Сообщений: 13
23.12.2010, 12:27  [ТС] #6
Спасибо большое ! Буду читать.
0
23.12.2010, 12:27
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.12.2010, 12:27
Привет! Вот еще темы с ответами:

Скролл в ZedGraph - Какие свойства отвечают за прокрутку поля - C#
На поле zedgraph построено много графиков, типа синуса. Держать их все в рамках видимости не очень приятно) Подскажите, какие свойства...

Не знаю какие команды отвечают за эти свойства...подскажите... - Delphi
Всем большой привет! :) У меня назрел вопрос, если сможете разъясните мне ... Знаю команду SelectAll, поставил ее на Memo ...

PROCESS_MEMORY_COUNTERS: какие поля отвечают за занимаемую оперативную и динамическую память - C++
помогите разобраться со структурой PROCESS_MEMORY_COUNTERS typedef struct _PROCESS_MEMORY_COUNTERS { DWORD cb; DWORD ...

Какие свойства отвечают за верхнюю часть вкладки компонента TabControl - C# WPF
Здравствуйте, подскажите какие свойства отвечают за верхнюю часть вкладки компонента TabControl. Как при помощи кода задать следующие...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru