Masm    Ассемблер

Список директив и операторов MASM 64 по группам.


 

Метки

ALIGN EVEN LABEL ORG

 

 

Условное управление потоком

.BREAK .CONTINUE .ELSE .ELSEIF
.ENDIF .ENDW .IF .REPEAT
.UNTIL .UNTILCXZ .WHILE

 

 

Ошибки при условной сборке

.ERR .ERR2 .ERRB .ERRDEF
.ERRDIF/.ERRDIF[[I]] .ERRE .ERRNB
.ERRIDN/.ERRIDN[[I]] .ERRNDEF .ERRNZ

Директивы распределения данных

ALIGN BYTE/SBYTE DWORD/SDWORD
EVEN FWORD LABEL ORG
QWORD REAL4 REAL8 REAL10
TBYTE WORD/SWORD

 


Приравнивание

= EQU TEXTEQU

Вывод данных ассемблирования в файл для анализа

.CREF .LIST .LISTALL .LISTIF
.LISTMACRO .LISTMACROALL .NOCREF
.NOLIST .NOLISTIF .NOLISTMACRO
PAGE SUBTITLE .TFCOND TITLE

Макросы

ENDM EXITM GOTO LOCAL
MACRO PURGE

 

 



Процедуры

ENDP INVOKE PROC PROTO

Процессор

.386 .386P .387 .486
.486P .586 .686 .686P
.K3D .MMX .XMM

 


Блоки повторения

ENDM FOR FORC GOTO
REPEAT WHILE

 

 


Области

COMM EXTERN EXTERNDEF INCLUDELIB
PUBLIC

 

 

 



Упрощенный сегмент

.CODE .CONST .DATA .DATA?
.DOSSEG .EXIT .FARDATA .FARDATA?
.MODEL .STACK .STARTUP

 


Строки

CATSTR INSTR SIZESTR SUBSTR

Структуры, запись

ENDS RECORD STRUCT TYPEDEF
UNION

 

 

 


Операторы


Арифметические операторы

* (умножение) + (плюс) - (минус) . (точка)
/ [] MOD

 


Условная сборка

! != & &&
< <= == >
>= ||

 

 


Операторы сдвига и логические операторы

AND NOT OR SHL
SHR XOR

 

 


Макрооператоры

! % & ;;
<>

 

 

 


Прочие операторы

' ' " " : ::
; CARRY? DUP OVERFLOW?
PARITY? SIGN? ZERO?

 


Запись

MASK WIDTH

 

 


Операторы сравнения

EQ GE GT LE
LT NE

 

 


Сегменты

: IMAGEREL LROFFSET OFFSET
SECTIONREL SEG

 

 



Переопределенные символы


Дата и время

@Date @Time

 

 


Системная информация

@Cpu @Environ @Interface @Version

Информация о файлах

@FileCur @FileName @Line

 


Работа со строками

@CatStr @InStr @SizeStr @SubStr

Прочее

$ ? @@: @B
@F

 

 

 


Информация о сегментах

@code @CodeSize @CurSeg @data
@DataSize @fardata @fardata? @Model
@stack @WordSize