Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


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




Листинг ассемблера содержит информацию о процессе ассемблирования и состоит из нескольких секций:

Заголовок страницы

Каждая страница листинга начинается с заголовка, содержащего имя программы, имя проекта, число и время трансляции и номер страницы, например:

 

A51 MACRO ASSEMBLER LAB1 05/05/2008 20:59:18 PAGE 1

 

Далее следуют строки с номером версии программы-транслятора и именем выходного объектного файла. В следующей строке приводится содержимое командной строки, с помощью которой вызывается транслятор:

 

MACRO ASSEMBLER A51 V8.00b

OBJECT MODULE PLACED IN lab1.OBJ

ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE lab1.a51 SET(SMALL) DEBUG EP

 

Исходный текст с кодами команд

Исходный текст выводится в листинге в четыре столбца. Столбец LOC содержит адрес ПЗУ, по которому размещается код команды. Для директивы Ассемблера EQU в этом столбце выводится значение, присваиваемое соответствующему имени. В столбце OBJ выводятся коды команд. В столбце LINE указаны номера строк исходного текста. Далее в столбце SOURCE выводится исходный текст программы.

 

LOC OBJ LINE SOURCE

1 ; Задание имен констант

0030 2 Addr equ 30H ; Начальный адрес ОЗУ

0010 3 Lng equ 16 ; Количество данных

00BC 4 Const equ 0BCh ; Константа заполнения

0000 7830 7 mov R0,#Addr ;Загрузка адреса в регистр R0

0002 74BC 8 mov A,#Const ; Загрузка констанды в регистр

; - аккумулятор

0004 7A10 9 mov R2,#Lng ; Загрузка длины в регистр R2

0006 10 loop: ; Метка начала цикла

0006 F6 11 mov @R0,A ; Запись аккумулятора в ОЗУ по

; адресу регистра R0

0007 08 12 inc R0 ; Увеличение адреса на единицу

0008 DAFC 13 djnz R2,loop ; Уменьшить счетчик на 1,

; сравнить с нулем и перейти в начало цикла, если не нуль

 

Исключить исходный текст из листинга можно директивой $NOLIST.

 

Таблица символических имен

Таблица символических имен содержит информацию о типе, значении и других атрибутах определенных в программе имен:

 

N A M E TYPE VALUE ATTRIBUTES

ADDR N NUMB 0030H A

CONST N NUMB 00BCH A

LNG N NUMB 0010H A

LOOP C ADDR 0006H A

Отменить генерирование таблицы имен можно директивой $NOSYMBOLS.

 

Тип имени определяется следующими буквами:

B - символ ссылается на память типа BIT.

C - символ ссылается на память типа CODE.

D - символ ссылается на память типа DATA.

I - символ ссылается на память типа IDATA.

N - символ – имя числа.

X - символ ссылается на память типа XDATA.

Дополнительно тип имени определяется словами:

ADDR - символ типа адрес.

NUMB - символ типа число.

SEG - символ – имя сегмента.

Число, следующее после определения типа, - это адрес имени в памяти (для адресов) или размер (для сегментов). Следующий после адреса символ A означает, что адрес абсолютный и неперемещаемый. Символ R – признак перемещаемого адреса.

 

Перекрестные ссылки

Директива $XREF включает информацию о перекрестных ссылках в таблицу символов:

 

XREF SYMBOL TABLE LISTING

---- ------ ----- -------

NAME TYPE VALUE ATTRIBUTES / REFERENCES

ADDR . . . . N NUMB 0030H A 3# 8

CONST. . . . .N NUMB 00BCH A 5# 9

LNG. . . . . .N NUMB 0010H A 4# 10

LOOP . . . . .C ADDR 0006H A 11# 14

В столбце REFERENCES выводится список строк, в которых содержатся ссылки на соответствующие имена. Номера с символом '#’ - строки, в которых имена определяются.

 

Банки регистров

В этой строке перечисляются банки регистров, используемые программой. По умолчанию указывается только нулевой банк регистров. Используемые банки регистров определяются директивой $REGISTERBANK.Эта информация используется компоновщиком при подключении библиотечных объектных модулей:

 

REGISTER BANK(S) USED: 0 1

 

Предупреждения и ошибки

Проблемы, встречающиеся во время трансляции, генерируют сообщения об ошибках и предупреждениях. Эти сообщения выводятся на экран монитора и в листинг:

 

ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)

 


Поделиться:

Дата добавления: 2015-04-05; просмотров: 78; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.005 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты