Помимо постоянно находящихся в памяти драйверов и автономных
программ, язык ассемблера используется и для подпрограмм в больших
программах, написанных, как правило, на языке высокого уровня.
Такие языки высокого уровня как Бейсик или Паскаль позволяют быстро
и ясно писать большие программы. Однако эти языки позволяют делать
не все, что может понадобиться. Сказанное особенно справедливо для
персональных ЭВМ, поскольку хорошая прикладная программа здесь
требует использования всех возможностей машины. Достигнуть этого на
языке высокого уровня удается не всегда. Либо язык высокого уровня
не позволяет реализовать требуемую функцию (например, вызов
процедуры BIOS), либо накладные расходы языка делают прикладную
программу слишком медленной (например, за счет операторов Бейсика
PEEK и POKE для считывания конкретных ячеек памяти).
К счастью, в языках высокого уровня имеется механизм,
позволяющий вызывать подпрограммы, написанные на языке ассембоера.
Требуемую функцию можно выполнить быстро и эффективно на машинном
языке, а затем вернуться к языку высокого уровня для выполнения
остальной работы. В этом разделе будут приведены примеры,
иллюстрирующие два способа включения процедуры ассемблера в
программу, написанную на языке высокого уровня.