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

В листинговом файле содержится дополнительная информация, о которой до сих пор в этой книге нигде не говорилось. После листинга программы выводится таблица символических имен. На Фиг. 5.11 показан пример такой таблицы, которая является таблицей имен для программы, приведенной на Фиг. 5.6. В этой таблице перечислены все символические имена, определенные в программе, и кроме того, указаны атрибуты каждого из них. Будучи очень формальной системой, ассемблер хранит эту информацию и для удобства пользователя приводит ее в листинговом файле. Символические имена подразделяются при этом на метки, переменные и константы. В таблице приведено значение каждого имени, если оно известно, и кроме того, безотносительно к типу данных - его длина.


Microsoft (R) Macro Assembler Version 5.00               4/15/89 23:14:35
Фиг. 5.6 Пример использования функций ДОС                       Symbols-1
PAGE ,132

Segments and Groups:

            N a m e                     Size    Align   Combine Class

CODE   . . . . . . . . . . . . . .      02D0    PARA    NONE

Symbols:

            N a m e                     Type          Value   Attr

BAD_CLOSE_MSG    . . . . . . . . .      L BYTE        016D    CODE
BAD_OPEN_MSG   . . . . . . . . . .      L BYTE        011E    CODE
BAD_READ_MSG   . . . . . . . . . .      L BYTE        0153    CODE
BAD_WRITE_MSG    . . . . . . . . .      L BYTE        0138    CODE

CHANGE_RECORD    . . . . . . . . .      L NEAR        0260    CODE
CHARACTER_LOOP   . . . . . . . . .      L NEAR        0216    CODE
CHAR_BAD_MSG   . . . . . . . . . .      L BYTE        01AB    CODE
CLOSE_OK   . . . . . . . . . . . .      L NEAR        02CE    CODE
CREATE_OK    . . . . . . . . . . .      L NEAR        01FD    CODE

DISK_TRANSFER_ADDRESS    . . . . .      L BYTE        0090    CODE

ERROR_EXIT   . . . . . . . . . . .      L NEAR        01E5    CODE

FCB    . . . . . . . . . . . . . .      L BYTE        005C    CODE
FCB_BLOCK    . . . . . . . . . . .      L WORD        0068    CODE
FCB_CURRENT_RECORD   . . . . . . .      L BYTE        007C    CODE
FCB_DATE   . . . . . . . . . . . .      L WORD        0070    CODE
FCB_DRIVE    . . . . . . . . . . .      L BYTE        005C    CODE
FCB_EXT    . . . . . . . . . . . .      L BYTE        0065    CODE    Length = 0003
FCB_FILE_SIZE    . . . . . . . . .      L DWORD       006C    CODE
FCB_NAME   . . . . . . . . . . . .      L BYTE        005D    CODE    Length = 0008
FCB_RANDOM_RECORD    . . . . . . .      L DWORD       007D    CODE
FCB_RECORD_SIZE    . . . . . . . .      L WORD        006A    CODE
FCB_RESV   . . . . . . . . . . . .      L BYTE        0072    CODE    Length = 000A
FILE_ERROR_MSG   . . . . . . . . .      L BYTE        0108    CODE

INPUT_BAD_MSG    . . . . . . . . .      L BYTE        0189    CODE

KEYBOARD_BUFFER    . . . . . . . .      L BYTE        0103    CODE
KEYBOARD_ERROR   . . . . . . . . .      L NEAR        024C    CODE
KEYBOARD_LOOP    . . . . . . . . .      L NEAR        0239    CODE
KEY_INPUT_OK   . . . . . . . . . .      L NEAR        0252    CODE

NO_FILE    . . . . . . . . . . . .      L NEAR        01EB    CODE

PROGRAM_EXIT   . . . . . . . . . .      L NEAR        02BB    CODE
PROGRAM_START    . . . . . . . . .      L NEAR        01CD    CODE

RANDOM_RECORD_OK   . . . . . . . .      L NEAR        0282    CODE
RANDOM_WRITE_OK    . . . . . . . .      L NEAR        02B8    CODE
RECORD_SIZE    . . . . . . . . . .      Number        0020

WRITE_OK   . . . . . . . . . . . .      L NEAR        0233    CODE
    
   173 Source Lines
   173 Total Lines
    57 Symbols

 48738 Bytes symbol space free

     0 Warning Errors
     0 Severe Errors

     Фиг. 5.11 Таблица символических имен для программы Фиг. 5.6