Имеется несколько причин, по которым требуется составлять
программу на ассемблере:
- для повышения скорости работы и эффективности использова-
ния памяти;
- для выполнения машинно-зависимых функций, которые отсутс-
твуют в Турбо Паскале;
- для того, чтобы можно было воспользоваться пакетом прог-
рамм общего назначения, написанных на ассемблере.
Хотя компилятор языка Турбо Паскаль создает эффективный ком-
пактный объектный код, никакой компилятор не сможет постоянно
создавать более эффективный и компактный код, чем код, написанный
компетентным программистом. Небольшое различие обычно не означа-
ет, что при написании программы на ассемблере не потребуется зат-
ратить заметно больше времени. Однако в особых случаях требуется
составлять программы и процедуры на ассемблере, чтобы обеспечить
быструю работу программы. Это требуется делать для часто исполь-
зуемых программ и процедур, существенно влияющих на общее быстро-
действие программы. Хорошим примером такого применения ассемблера
является пакет подпрограмм, выполняющих операции над числами с
плавающей запятой. Кроме того, специальное оборудование иногда
требует точной синхронизации в работе, которая обеспечивается
только программированием на ассемблере.
Многие ПЭВМ, включая машины, построенные на базе процессоров
8086 и 8088, обладают возможностями, которыми нельзя воспользо-
ваться непосредственно на Турбо Паскале. Например, используя
Турбо Паскаль нельзя изменить сегменты данных и возникают труд-
ности при доступе к специальным регистрам.
На практике часто приобретаются библиотеки подпрограмм. В
качестве таких библиотек подпрограмм можно назвать широко расп-
ространенные библиотеки подпрограмм для работы с числами с плава-
ющей запятой и пакеты графических программ. Иногда имеются только
объектные коды этих подпрограмм, поскольку разработчик не постав-
ляет исходные тексты. В одних случаях эти подпрограммы могут
просто вызываться в программе на Паскале. В других случаях прихо-
дится составлять интерфейсный модуль для обеспечения связи Турбо
Паскаля с приобретенными подпрограммами.
Имеется два способа применения ассемблера в программе на
Турбо Паскале. Во-первых, можно написать отдельную программу, ас-
семблировать ее и затем подсоединить ее к основной программе, ис-
пользуя команду "external". Во-вторых, в программе на языке TURBO
-Паскаль можно непосредственно записывать код на ассемблере.
Обучение программированию на языке ассемблера выходит за
рамки этой книги. В этой главе подразумевается, что вы уже знако-
мы с языком ассемблера, который имеется на вашей ЭВМ. Приводимые
примеры только иллюстрируют применение ассемблера.