Turbo Assembler. Компоновка, трансляция, отладка
Turbo Assembler (TASM) — программный пакет компании Borland, предназначенный для разработки программ на языке ассемблера для архитектуры x86. Кроме того, TASM может работать совместно с трансляторами с языков высокого уровня фирмы Borland, такими как Turbo C и Turbo Pascal. Как и прочие программные пакеты серии Turbo, Турбо Ассемблер больше не поддерживается.
TASM до сих пор используется для обучения программированию на ассемблере под архитектуру x86. Многие находят его очень удобным и продолжают его использовать, расширяя набором дополнительных макросов.
Пакет TASM поставляется вместе с компоновщиком Turbo Linker и порождает код, который можно отлаживать с помощью Turbo Debugger.
По умолчанию TASM работает в режиме совместимости с другим распространённым ассемблером — Microsoft Macro Assembler, то есть TASM умеет транслировать исходники, разработанные под MASM. Кроме того, TASM имеет режим IDEAL, улучшающий синтаксис языка и расширяющий его функциональные возможности.
Компоновка
Компоновка программы создает готовую для работы программу, которая называется также исполняемой программой или загрузочным модулем. При этом решаются две основные задачи:
- если в программе используются функции, например, sin, exp и т.д., соответствующие им программные модули выбираются из библиотеки подпрограмм соответствующей системы программирования и вставляются в объектный модуль;
- объектный модуль преобразуется в соответствии с реальными адресами основной памяти, куда будет размещаться программа для выполнения.
Трансляция
Процесс преобразования программы, написанной на одном языке программирования, в программу на другом языке.
Как правило, трансляция — это создание программы в машинных кодах, которую можно выполнять. Трансляция обеспечивает включение библиотечных подпрограмм, модулей, процедур в итоговую программу на машинном языке.
Различают два вида трансляции:
- компиляцию, при которой результат получается в виде готовой программы, выполняемой независимо от исходного текста программы;
- интерпретацию, при которой трансляция и выполнение программы происходит покомандно.
Отладка — этап разработки компьютерной программы, на котором обнаруживают, локализуют и устраняют ошибки. Чтобы понять, где возникла ошибка, приходится :
- узнавать текущие значения переменных;
- и выяснять, по какому пути выполнялась программа.
Существуют две взаимодополняющие технологии отладки.
Использование отладчиков — программ, которые включают в себя пользовательский интерфейс для пошагового выполнения программы: оператор за оператором, функция за функцией, с остановками на некоторых строках исходного кода или при достижении определённого условия.
Вывод текущего состояния программы с помощью расположенных в критических точках программы операторов вывода — на экран, принтер, громкоговоритель или в файл. Вывод отладочных сведений в файл называется журналированием.
Количество ошибок в программах заранее неизвестно, поэтому заранее неизвестна продолжительность отладки. Лучшим средством для сокращения отладки являются структурные методы проектирования программ с использованием структурного псевдокода или языков структурного программирования.
Отладка — это часто тяжёлая и утомительная задача. Способности программиста к отладке — это, по-видимому, важнейший фактор в обнаружении источника проблемы, но сложность отладки сильно зависит от используемого языка программирования и инструментов, в частности, отладчиков. Отладчик представляет из себя программный инструмент, позволяющий программисту наблюдать за выполнением исследуемой программы, останавливать и перезапускать её, прогонять в замедленном темпе, изменять значения в памяти и даже, в некоторых случаях, возвращать назад по времени.