Энциклопедия Turbo Pascal. Главы 1-4 - Интерфейс с ассемблером

ОГЛАВЛЕНИЕ

Интерфейс с ассемблером

Имеется несколько причин,  по которым требуется составлять программу на ассемблере:
     - для повышения скорости работы и эффективности использования памяти;
     - для выполнения машинно-зависимых функций,  которые отсутствуют в Турбо Паскале;
     - для того,  чтобы можно было воспользоваться пакетом программ общего назначения, написанных на ассемблере.

Хотя компилятор языка Турбо Паскаль создает эффективный компактный объектный код,  никакой компилятор не сможет постоянно создавать более эффективный и компактный код, чем код, написанный компетентным программистом.  Небольшое различие обычно не означает, что при написании программы на ассемблере не потребуется затратить заметно больше времени.  Однако в особых случаях требуется составлять программы и процедуры на ассемблере,  чтобы обеспечить быструю работу программы.  Это требуется делать для часто используемых программ и процедур, существенно влияющих на общее быстродействие программы. Хорошим примером такого применения ассемблера является пакет подпрограмм,  выполняющих операции над числами с плавающей запятой.  Кроме того,  специальное оборудование иногда требует точной синхронизации в работе,  которая обеспечивается только программированием на ассемблере.

Многие ПЭВМ, включая машины, построенные на базе процессоров 8086 и 8088,  обладают возможностями,  которыми нельзя воспользоваться непосредственно на Турбо Паскале.  Например,  используя Турбо Паскаль нельзя изменить сегменты данных и возникают трудности при доступе к специальным регистрам.

На практике часто приобретаются библиотеки подпрограмм.  В качестве таких библиотек подпрограмм можно назвать широко распространенные библиотеки подпрограмм для работы с числами с плавающей запятой и пакеты графических программ. Иногда имеются только объектные коды этих подпрограмм, поскольку разработчик не поставляет исходные тексты.  В одних случаях эти подпрограммы могут просто вызываться в программе на Паскале. В других случаях приходится составлять интерфейсный модуль для обеспечения связи Турбо Паскаля с приобретенными подпрограммами.

Имеется два способа применения ассемблера в программе на Турбо Паскале. Во-первых, можно написать отдельную программу, ассемблировать ее и затем подсоединить ее к основной программе, используя команду "external". Во-вторых, в программе на языке TURBO-Паскаль можно непосредственно записывать код на ассемблере.

Обучение программированию на языке ассемблера выходит за рамки этой книги. В этой главе подразумевается, что вы уже знакомы с языком ассемблера,  который имеется на вашей ЭВМ. Приводимые примеры только иллюстрируют применение ассемблера.