Программисты, использующие операционную систему MS-DOS, часто вынуждены работать с различными устройствами компьютера на уровне команд ввода/вывода. Это связано прежде всего с тем, что MS-DOS не содержит сколько-нибудь существенной поддержки для большинства устройств компьютера. Практически функционально полная поддержка обеспечивается только для дисковой подсистемы. Такие устройства, как мышь, принтер, расширенная и дополнительная память и часы реального времени обслуживаются либо отдельными драйверами, либо программа вынуждена обращаться непосредственно к портам ввода/вывода этих устройств.
Для оптимального решения графических и вычислительных задач актуально использование арифметического сопроцессора 8087/80287/80387. Мы рассмотрим сопроцессор с точки зрения программиста - опишем форматы используемых данных, рассмотрим внутренние регистры сопроцессора и систему команд.