Связь и интернет Архив Программирование
   
Сделать стартовойСделать закладку            
   ПОИСК  
   
Главная / Турбо Ассемблер / Использование Турбо Ассемблера /
8  Perl
8  PHP
8  JavaScript
8  HTML
8  DHTML
8  XML
8  CSS
8  C / C++
8  Pascal и Delphi
8  Турбо Ассемблер
8  MySQL
8  CASE-технологии
8  Алгоритмы
8  Python
8  Обратная связь
8  Гостевая книга
Новости о мире


Генерация листинга - Программирование от RIN.RU
Генерация листинга




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


Примечание: См. здесь описание параметров командной строки /l и /la.


Турбо Ассемблер может также по запросу генерировать таблицу перекрестных ссылок для всех меток, используемых в исходном файле, в которой показано, где определяется каждая метка, и где на нее имеется ссылка.


Примечание: См. в здесь описание параметра командной строки /c.


Формат листинга


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


Файл листинга содержит две части: аннотированный листинг исходного кода и таблицу идентификаторов. Сначала выводится исходный ассемблируемый код с заголовком, содержащим имя файла, в котором находится исходный код. Вывод исходного кода Ассемблера сопровождается информацией о машинном коде, который ассемблирует Турбо Ассемблер. Все ошибки или предупреждения, обнаруженные в процессе ассемблирования, включаются в листинг непосредственно за содержащей ошибку строкой.


Строки кода в файле листинга имеет следующий формат:


<глубина> <номер_строки> <смещение> <машинный_код> <исходный_код>


где <глубина> показывает уровень вложенности включаемых файлов или макрокоманд в файле листинга.


Поле <номер_строки> содержит номер строки в файле листинга (не включая заголовки). Номера строк особенно полезны при использовании перекрестных ссылок Турбо Ассемблера, в которых указываются номер строк. Учтите, что поле <номер_строки> не соответствует номерам строк исходного модуля. Например, если в файл включается другой файл или выполняется макрорасширение, то значение поля <номер_строки> продолжает увеличиваться, хотя текущая строка в исходном файле остается той же. Чтобы преобразовать номер строки обратно в строку исходного кода, вы должны найти строку в файле листинга, и найти такую же строку в исходном коде (поее внешнему виду, а не по номеру).


Поле <смещение> представляет смещение в текущем сегменте начала машинного кода, сгенерированного из соответствующей исходной строки Турбо Ассемблером.


Поле <машинный_код> показывает фактическую последовательность шестнадцатиричных значений размером в байт или слово, которые ассемблированы из соответствующей исходной строки на Ассемблере.


Поле <исходный_код> - это просто исходная строка Ассемблера, с комментариями и всем, что в ней содержится. Некоторые исходные строки (например те, которые содержат только комментарии) не генерируют никакого машинного кода. Эти строки не содержат полей <смещение> и <машинный_код>, но имеют номер строки.


Вперед  >>>
 1  2  3  4 


 8  Комментарии к статье  8 8  Обсудить в чате

8  В тему

Начало работы на Турбо Ассемблере

Использование директив и параметров

Общие принципы программирования

Объектно-ориентированное программирование

Использование выражений и значений идентификаторов

Директивы выбора процессора

Использование моделей памяти программы и сегментации

Определение типов данных

Задание и использование счетчика адреса

Описание процедур

Управление областью действия идентификаторов

Определение данных

Расширенные инструкции

Использование макрокоманд

Использование условных директив

Интерфейс с компоновщиком

Интерфейс Турбо Ассемблера и Borland C++

Интерфейс Турбо Ассемблера с Турбо Паскалем

 
  
  
    Copyright ©  RIN 2003 - 2004      * Обратная связь