С помощью написания специальных программ обычную системную плату можно превратить в универсальный стенд для диагностирования и ремонта большинства узлов и устройств компьютера. Умение программировать дает возможность создавать «инструментальные» программные средства, заменяющие аппаратные тестеры, используемые для контроля и диагностики устройств. Стоимость аппаратных тестеров достаточно высока, а их номенклатура невелика. Модификация и их приспособление к конкретному устройству - это сложное и дорогостоящее удовольствие. Разработанные «инструментальные» программные средства, в отличие от аппаратных тестеров, легко модифицируются и приспосабливаются для работы с любым устройством. Программным путем можно задать в устройстве любой необходимый для контроля режим работы, удобно и эффективно осуществлять контроль процессов осциллографом, получать информацию об ошибках из регистров ошибок, регистров состояния контроллеров устройств. Например, программы BIOS, при выполнении своей функции управления устройством, еще осуществляют и контрольные функции — при обнаружении ошибки устанавливают флажок CF (в регистре флагов процессора) в 1 и записывают код ошибки в регистр AH процессора (получить дополнительную уточняющую информация об ошибке можно из регистра ошибок, регистра состояния контроллера этого устройства).
Написание специальных программ обычно осуществляют на ассемблере. Для упрощения процесса создания программ, в составе этих программ используют стандартные программы-функции BIOS. Программы BIOS являются низшим (физическим) уровнем стандартного ввода/вывода операционной системы. Программы «прошиты» в постоянном запоминающем устройстве ПЗУ BIOS (или флэш-памяти) и реализуют при своем выполнении функции управления внешними устройствами на физическом уровне. Ввод-вывод на физическом уровне осуществляется на уровне команд контроллеров внешних устройств, их программно-доступных регистров (с реализацией всех необходимых задержек и особенностей управления устройством). Программы BIOS подробно описаны (как говорят, хорошо документированы). По ним изданы справочники в печатном и электронном виде. Набор программы, ее отладку и запуск программы на выполнение, удобно осуществлять с помощью специальных программ типа профотладчиков Debug, AFD и др..
Программы-профотладчики предназначены для использования в работе специалистами по ремонту и диагностированию персональных компьютеров. С точки зрения программистов, они обладают скромными функциональными возможностями, но для написания и выполнения небольших специальных программ их возможностей вполне достаточно. Для написания специальных программ тестирования и активизации сигналов для исследований осциллографом нужно, как минимум, знать следующее:
- знать примерно 20-30 простых команд ассемблера из базового набора команд семейства микропроцессоров и наиболее простые виды адресации, используемые для указания операндов в командах;
- знать назначение основных программно-доступных регистров процессора, используемых при программировании;
- уметь пользоваться профотладчиком AFD (уметь использовать основные команды и функциональные клавиши );
- знать общую архитектуру IBM PC подобных компьютеров. Дополнительная уточняющая диагностическая информация может быть получена и в результате использования специально написанных программ активизации сигналов, с проведением исследований электрической схемы с помощью осциллографа. Кроме того, такие программы можно использовать и для восстановления системных областей HDD, и для «спасения» файлов, и для диагностики HDD и других полезных дел, когда другие средства бессильны или очень дорого стоят. Умение программировать заменяет дорогостоящие аппаратные тестеры.