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