Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Обращение к ISA
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Программирование
Tsenzuk
Никогда не занимался низкоуровневым программированием, но тут на 4м курсе стала задача: есть контроллер ISA <-> CAMAC и машина тройка для лабораторной работы, но под него нет софта, необходимо этот софт реализовать на более-менее доступном уровне.
Т.е. впринципе можно писать программу на паскале. Ничего кроме массивов port[i] и portW[i] я не нашёл, но даже как ими воспользоваться не очень понимаю(
Подскажите пожалуйста более-менее доступные источники или примеры решения подобных задач.
rezident
Не совсем понятно, что именно вам нужно: компилятор ЯВУ под MS-DOS или схему вашего контроллера?
makc
Читайте про команды ассемблера IN и OUT процессоров семейства x86. Способ их использования определяется языком программирования. В паскале для этого port. В C можно использовать библиотечные функции (в большинстве систем), либо ассемблерные вставки.

PS: Определитесь с операционной системой и средствами разработки. Это будет хорошей отправной точкой.
Kuzmi4
Где то на моём 3-м курсе меня пытались склонить к такой задаче - почти один в один.
Насколько я помню иса и отличается тем вроде , что обращение производится как к области памяти.. Положил - взял.. Могу конечно и ошибаться..
А асм для 386-й и доса - долго сильно будет - берите С или паскаль..
А где учимся если не секрет ??
SysRq
Цитата(Kuzmi4 @ Mar 11 2009, 21:00) *
...обращение производится как к области памяти.. Положил - взял.. Могу конечно и ошибаться..

Нет, не ошибаетесь, все именно так. В паскале как раз обращение через port[номер_порта].
Надо всего лишь знать по каким портам отзывается железяка и как трактовать данные через эти порты пересылаемые (схемотехника железяки самой).
zltigo
Цитата
Насколько я помню иса и отличается тем вроде , что обращение производится как к области памяти..

....
Цитата(SysRq @ Mar 11 2009, 21:38) *
Нет, не ошибаетесь, все именно так. В паскале как раз обращение через port[номер_порта].

Что "именно так" smile.gif Вы про порты, он про память... На самом деле на ISA может быть и то и другое.
Tsenzuk
Цитата
PS: Определитесь с операционной системой и средствами разработки. Это будет хорошей отправной точкой.

Операционная система скорее всего DOS. С линуксом еще не знаком(

Цитата
А где учимся если не секрет ??

Харьков, ХАИ

Цитата
Надо всего лишь знать по каким портам отзывается железяка

вот это тоже интересный вопрос. в результате экспериментов с домашней машиной я знаю, что на 760 (и может еще соседних портах) висит COM2, его нет на матери и вычитываение из них выдаёт ошибку. И где-то в районе 800 и 19000 находится дисковвод — идёт обращение smile.gif

Цитата
Что "именно так" Вы про порты, он про память...

и про порты и про память.
если в переменную присваивать значение порта — чтение. если в порт присваивать значение — запись, по крайней мере так хелп TP говорит smile.gif

да, вот еще вопрос:
Цитата
как трактовать данные через эти порты пересылаемые

если слово передаваемое железякой я надеюсь вычитать из спецификации или ТЗ на нее уж не знаю что там у преподавателя оформлено, то как понимать байт считываемый из переменной potr[i]. это ж 8 бит. какие это из дорожек реальной исы?

да, вот еще вопрос:
Цитата
как трактовать данные через эти порты пересылаемые

если слово передаваемое железякой я надеюсь вычитать из спецификации или ТЗ на нее уж не знаю что там у преподавателя оформлено, то как понимать байт считываемый из переменной potr[i]. это ж 8 бит. какие это из дорожек физического разъёма?
Tsenzuk
скажите, а порты от машины к машине, одни и те же?
всмысле если у меня на компе СОМ2 это 761-763, а СОМ1 1017-1019, то придя на другую машину там будут те же адреса?
и от чего это зависит если адреса разные — от процессора или материнки? или поколения?
zltigo
Страшно далеки Вы от решения поставленной задачи sad.gif. Настоятельная просьба, прежде, чем задавать вопросы прочитать какую-нибудь книжку по архитектуре PC, ну хотя-бы что-то типа валяющегося на каждом углу Гука.
defunct
Цитата(zltigo @ Mar 13 2009, 00:44) *
прочитать какую-нибудь книжку по архитектуре PC

"Справочник программиста персональных компьютеров типа IBM PC, ХT и АT", Джордейн, 1991. - 543 с.
Лучшее из тех времен, сразу мозги вправит, и читается легко.


В атаче гипертекстовый справочник TechHelp6.0 (самое оно при низкоуровневом программировании под DOS)
777777
Цитата(SysRq @ Mar 11 2009, 21:38) *
Надо всего лишь знать по каким портам отзывается железяка и как трактовать данные через эти порты пересылаемые (схемотехника железяки самой).

Ну да, сущие пустяки.

Да уж, ребятушки, боюсь вы даже не представляете себе всего объема задачи. Один только запрос IDENTIFY_DEVICE чего стоит. А еще ведь надо проверять версию ISA и работать по той, которую она поддерживает, а их за 25 лет наплодилось чуть ли не десяток... Так что боюсь это задача не для курсовой.
MaslovVG
Без схемы платы платы не обойдешся. Для наибольшего быстродействия нужно знать возможность прямого доступа, номера каналов, наличие запросов на прерывание, Адреса каналов ввода выода, Наличие регистров управления и так далее.
Для начала советую почитать книги Нортона по программированию под DOS
Tsenzuk
Спасибо за литературу smile.gif
собственно что читать-то я и не знал.
под рукой лежит институтская методичка по устройству ISA 2х годичной давности, но поскольку это не моя кафедра, и нам подобного не читали, что далеко не всё понятно а то что понятно незнаю куда приткнуть. там больше про уровни сигналов и максимальную длину дорожек((
XVR
Цитата(777777 @ Mar 13 2009, 09:48) *
Ну да, сущие пустяки.

Да уж, ребятушки, боюсь вы даже не представляете себе всего объема задачи. Один только запрос IDENTIFY_DEVICE чего стоит.
Угу, вот только к ISA он отношения не имеет biggrin.gif
Цитата
А еще ведь надо проверять версию ISA и работать по той, которую она поддерживает, а их за 25 лет наплодилось чуть ли не десяток...
Ну да, только оно не ISA а ATA (aka IDE) rolleyes.gif

Цитата
Так что боюсь это задача не для курсовой.
Это да, особенно при такой постановке - 'подключи то - не знаю что, туда - не знаю куда'
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.