Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Прогр_на_ассембл_для_WINLOWS.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
908 Кб
Скачать
☆

2.3. Имена

Имена можно разделить на две основные группы, включающие в себя всего шесть классов лексем. Это ключевые слова (имена, зарезервированные для системы) и имена пользователя.

2.3.1. Ключевые слова

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

Имена регистров процессора: EAX, AX, АН, AL, EBX, BX, BH, BL, ECX, CX, CH, CL,EDX, DX, DH, DL, ESP, SP,EBP, BP, ESI, SI,EDI, DI, CS, DS, SS, ES.

Имена команд процессора, и имена префиксов приведены в п.1.4.

Некоторые имена директив, существовавших и в версиях TASM, предшествовавших версии TASM 5.0, предопределенные идентификаторы и имена операций в выражениях:

=

DD

GT

%NOCREF

RECORD

.186

DQ

HIGH

%NOCTLS

REPT

.286

DT

IDEAL

NOEMUL

.SALL

.286C

DUP

IF

%NOINCL

SEG

.286P

DW

IF1

NOJUMPS

SEGMENT

.287

DWORD

IF2

%NOLIST

.SEQ

.386

ELSE

IFB

NOLOCALS

.SFCOND

.386C

ELSEIF

IFDEF

%NOMACS

SHL

.387

EMUL

IFDIF

NOMASM51

SHORT

.486

END

IFDIF1

NOMULTERRS

SHR

.586

ENDIF

IFE

NOSMART

SIZE

.8086

ENDM

IFIDN

%NOSYMS

SIZESTR

.8087

ENDP

IFIDNI

NOT

SMALL

ALIGN

ENDS

IFNB

NOTHING

SMART

ALFA

EQ

IFNDEF

%NOTRUNC

STAK

AND

EQU

%INCL

NOWARN

.STAK

ARG

ERR

INCLUDE

OFFSET

STRUC

ASSUME

.ERR

INCLUDELIB

OR

SUBSTR

%BIN

.ERR1

INSTR

ORG

SUBTTL

BYTE

.ERR2

IRP

%OUT

%SUBTTL

CATSTR

.ERRB

IRPC

P186

%SYMS

@CODE

.ERRDEF

JUMPS

P286

SYMTYPE

CODESEG

ERRDIF

LABEL

P286N

%TABSIZE

COMMENT

ERRDIFI

.LALL

P287

TBYTE

%CONDS

ERRE

LARGE

P386

%TEXT

.CONST

ERRIDN

LENGTH

P386N

.TFCOND

@CPU

ERRIDNI

.LFCOND

P386P

THIS

%CREF

ERRIFNB

%LINENUM

P387

??TIME

.CREF

ERRIFNDEF

%LIST

P486

TITLE

%CREFALL

ERRNB

.LIST

P586

%TITLE

%CREFREF

ERRNDEF

LOCAL

P8086

%TRUNC

%CREFUREF

ERRNZ

LOCALS

P8087

TYPE

%CTLS

EVEN

LOW

PAGE

.TYPE

@CURSEG

EVENDATA

LT

%PAGESIZE

UPDATASEG

@CODESEG

EXITM

MACRO

PARA

UFARDATA

COMM

EXTRN

%MACS

%PCNT

UNION

@DATA

FAR

MASK

PNO87

UNKNOWN

.DATA

FARDATA

MASM

%POPLCTL

USES

.DATA?

@FARDATA

MASM51

PROC

??VERSION

DATAPTR

.FARDATA

MOD

PTR

WARN

DATASEG

@FARDATA?

MODEL

PUBLIC

WITH

@DATASIZE

.FARDATA?

.MODEL

PURGE

WORD

??DATA

@FILENAME

MULTERRS

%PUSHLCTL

@WORDSIZE

DB

??FILENAME

NAME

PWORD

.XALL

%DEPTH

FWORD

NE

QUIRKS

.XLIST

DF

GE

NEAR

QWORD

XOR

DISPLAY

GLOBAL

%NEWPAGE

RADIX

DOSSEG

GROUP

%NOCONDS

.RADIX

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