![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Ключевыми словами называются имена, имеющие для языка определенный смысл и употребляемые в программах в этом смысле. К ним относятся имена регистров процессора, мнемонические имена команд процессора, имена префиксов, имена директив и имена операций в выражениях.
Имена регистров процессора: 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 |
Список этот неполный. В нем есть ключевые слова, не имеющие смысла с точки зрения программирования в защищенном режиме. Но о выше перечисленных ключевых словах надо помнить для того, чтобы не воспользоваться ими как именами пользователя. Ассемблер допускает такое использование, и в случае неправильной интерпретации имени при неудачно сложившейся синтаксической ситуации компилятор будет считать его ключевым словом и получится ошибка, которую трудно обнаружить.
Дата публикования: 2015-10-09; Прочитано: 225 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!