Дипломированных специалистов «Информатика и вычислительная техника»



Download 12,06 Mb.
Pdf ko'rish
bet195/357
Sana22.02.2022
Hajmi12,06 Mb.
#115195
TuriДиплом
1   ...   191   192   193   194   195   196   197   198   ...   357
Bog'liq
assembler uchebnik dlya vuzov 2-e izd YuRXUW1

Связь ассемблера с языками
высокого уровня
На протяжении всего учебника мы неоднократно подчеркивали сильные и слабые
стороны языка ассемблера как языка программирования. Писать на нем достаточ-
но объемные программы утомительно. И всегда ли это нужно? Конечно, не всегда.
Если программа не предназначена для решения каких-то системных задач, требу-
ющих максимально эффективного использования ресурсов компьютера, если к ней
не предъявляются сверхжесткие требования по размеру и времени работы, если
вы не «фанат» ассемблера — то, на мой взгляд, следует подумать о выборе одного
из языков высокого уровня. Существует и третий, компромиссный путь — комби-
нирование программ на языке высокого уровня с кодом на ассемблере. Такой спо-
соб обычно используют в том случае, если в вашей программе есть фрагменты,
которые либо вообще невозможно реализовать без ассемблера, либо ассемблер
может значительно повысить эффективность работы программы.
Большинство компиляторов учитывают возможность комбинирования их «род-
ного» кода с ассемблером. Как именно? Это зависит от конкретного компилятора
языка высокого уровня. Учитывая, что большинство программистов работают или,
по крайней мере, владеют основами программирования на языках C/C++ и Pascal,
дальнейшее обсуждение будет касаться именно этих языков. В настоящее время
существует несколько их основных реализаций, поддерживаемых разными фир-
мами-производителями. В этих реализациях имеются, в основном,
механизмы связи с языком ассемблера. Единственное, что остается сделать при
реализации конкретной задачи на конкретном компиляторе, — уточнить в доку-
ментации на язык нужные параметры связи и, возможно, особенности организа-
ции связи с кодом на ассемблере. Невозможно дать универсальные рекомендации
по этому вопросу и остается лишь сосредоточиться на отображении наиболее прин-
ципиальных моментов связи программ на языках Pascal и C/C++ с ассемблером,
актуальных для большинства реализаций этих языков.
Вначале мы отметим общие моменты, актуальные как для C/C++, так и для
Pascal. Затем на примерах конкретных программ мы обсудим моменты, специфич-
ные для каждого из этих языков.
Существуют следующие формы комбинирования программ на языках высоко-
го уровня с ассемблером.
Р Использование операторов типа
и ассемблерных вставок в виде встраи-
ваемого ассемблерного кода. Эта форма в значительной степени зависит от син-
таксиса языка высокого уровня и конкретного компилятора. Она предполага-
что ассемблерные коды в виде команд ассемблера или прямо в машинных
командах вставляются в текст программы на языке высокого уровня. Компиля-
тор языка распознает их как команды ассемблера (машинные коды) и без изме-
нений включает в формируемый им объектный код. Эта форма удобна, если
надо вставить небольшой фрагмент.
Использование внешних процедур и функций. Это более универсальная фор-
ма комбинирования. У нее есть ряд преимуществ:


Связь ассемблера с языками высокого уровня 345
написание и отладку программ можно производить независимо;
написанные подпрограммы можно использовать в других проектах;
П облегчаются модификация и сопровождение подпрограмм в течение жиз-
ненного цикла проекта (к примеру, если ваша процедура на ассемблере про-
изводит работу с некоторым внешним устройством, то при смене устрой-
ства вам нет необходимости перекраивать весь проект — достаточно заменить
только работающую с ним
неизменным интерфейс про-
граммы на языке высокого уровня с ассемблером).

Download 12,06 Mb.

Do'stlaringiz bilan baham:
1   ...   191   192   193   194   195   196   197   198   ...   357




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish