Идея диагностики опроса BIOS

Часто бывает так, что плата не работает, на POST-кодере 00 или FF. Осциллографом тыкаться на флэшку бессмысленно - если там мусор, то процессор скорее всего зависнет.

Конечно, проще сразу зашить нормальный БИОС для этой платы. Но мне кажется, при желании можно придумать ситуации, где такой BIOS выгоднее родного от платы - к примеру, до выдачи первого POSt-кода (который еще может не дойти в случае неработоспособности SIO/MIO) процессор выполняет кучу команд, в том числе обращается к железу (если память не изменяет, кроме Phoenix BIOS) - если там произойдет зависание, то родной BIOS не поможет...

Насколько я знаю, до сих пор процессоры стартуют в режиме эмуляции i8086 (в т.н. "реальном режиме").

А что если взять и сделать BIOS из одной команды - короткий переход на саму себя (JMP $ или m1: jmp m1 для Турбо Ассемблера, опкод 0xEB 0xFE, где EB - команда jmp short, FE=-2 - относительный адрес перехода в байтах.) И иметь набор из нескольких флэшек или просто зашивать его каждый раз в флэшку с платы, предварительно сохранив содержимое?

Тогда процессор должен по идее выполнять одну и ту же команду, что по идее дожно породить периодический сигнал на лапах флэшки.

Прерывания ведь при старте процессора запрещены т.к. контроллер прерываний еще проинициализировать надо?

Какие будут мнения?

Просьба сильно не пинать, если идея совсем тупая, мне ведь интересен еще и теоретический аспект.

P.S. Как же я люблю Ассемблер!:)

Аватар пользователя Highlander

2 (R)SOFT, извиняюсь за назойливость, а где можно прочесть долгую историю?:)

Зачем AND? TEST ведь и есть AND без сохранения результата:)

wiki.rom.by - здесь специально собраны ответы на большинство вопросов!

Когда другие уже закончили, процессоры Intel (R) Pentium (R) продолжают работать, работать и работать...

RDTSC ? пентиум это еще не все процессоры
я этой программой 486 тестил
И зачем что-то компилировать?
Это программа пишется в отладчике прямо поверх любого файла биоса

Аватар пользователя Highlander

2 GaRR, RDTSC это не только и не столько программа, в первую очередь команда ReaD Time Stamp Clock - чтение регистра-внутреннего счетчика тактов процессора (существует с первентиумов, кажется было и в некоторых 486) - ремонтировать более старые матплаты сейчас не приходится:)

wiki.rom.by - здесь специально собраны ответы на большинство вопросов!

Когда другие уже закончили, процессоры Intel (R) Pentium (R) продолжают работать, работать и работать...

Аватар пользователя R_Soft

Привет!

Что-то тема заглохла...

Highlander писал(-а):
2 (R)SOFT, извиняюсь за назойливость, а где можно прочесть долгую историю?:)

Кратко история... Матплата Asrock K7VT4A Pro (KT400A & VT8237) была куплена на барахолке для доноров/запчастей. Попытался её реанимировать. Всё пересмотрел, вроде в порядке. Биос прочитал на программаторе - тоже порядок. При старте на посткарту ничего не выводит. Смотрю рсциллом на 14 ноге параллельной флешки (SST39SF020A) - есть кратковременное "шевеление" но тут же исчезает... Дай, думаю, зашью ей тестовую 16-байтную программу. Пробую - выводит FD. Ага, вот где "собака порылась"!... Только не зацикливается программа, а вываливается через ~5 сек - т.е. на 14 ноге исчезает меандр. Путем вычислений я понял, что первый бит засажен на 0 в самом ЮМ. Флешка подключена через SIO (W83697HF) по LPC. Думал, что это SIO засаживает, меняю SIO - всё то же самое. Одним словом мне пришлось выбирать такие машинные команды, в которых бы 1-й бит был в нуле (первая тетрада от 0 до F, вторая тетрада - 0, 1, 4, 5, 8, 9, C и D).

Потом понял, что потеря команды проверки флагов перед условным переходом (в приведенном фрагменте) вызвана ЛИШНИМ случайным нажатием Ctrl+Y (удаление строки)... wink Такое у меня уже не первый раз встречается. Приношу свои извинения за баг. Ссылаться нужно только на программу автора, а не на мои глюки.:)

Highlander писал(-а):
Зачем AND? TEST ведь и есть AND без сохранения результата:)

Эта привычка осталась ещё со времен Z80. wink По 80х86 я занимался дизассемблированием/патчингом в IDA, а вот по написанию программ - пока мало практики.

С уважением, Владимир.

Партизан подпольной луны aka (R)soft

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Разрешённые HTML-теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img>
  • You can use BBCode tags in the text. URLs will automatically be converted to links.

Подробнее о форматировании текста

Антибот - введите цифру.
Ленты новостей