32bit Microsoft Macro Assembler 6 以降の、/omf オプション付きの ml.exe に怒られない範囲の機能/仕様
/omf
ml.exe
コマンドラインオプション
/AT
/Bl
/c
/coff
/Cx
/Cp
/Cu
/D
/EP
/F
/FPi
/Fo
/Fe
/Fb
/Fl
/Fm
/FR
/Fr
/Gc
/Gd
Gz
/H
/help
/?
/I
/link
/nologo
/Sa
/Sc
/Sf
/Sg
/Sl
/Sn
/Sp
/Ss
/St
/Sx
/Ta
/VM
/W0
/W1
/W2
/W3
/WX
/w
/X
/Zd
/Zi
/Zs
/Zf
/Zm
/Zp
ソースコード書式とリスティング制御
;
COMMENT
PUSHCONTEXT
POPCONTEXT
TITLE
SUBTITLE
SUBTTL
INCLUDE
END
PAGE
PAGE +
.LIST
.LISTALL
.LISTMACRO
.XALL
.LISTMACROALL
.LALL
.LISTIF
.LFCOND
.NOLIST
.XLIST
.NOLISTIF
.SFCOND
.NOLISTMACRO
.SALL
.TFCOND
.CREF
.NOCREF
.XCREF
ECHO
%OUT
メモリモデルの詳細
MACRO
LOCAL(MACRO)
EXITM
ENDM
PURGE
VARARG
GOTO
CATSTR
@CatStr
SUBSTR
@SubStr
SIZESTR
@SizeStr
INSTR
@InStr
EQU
TEXTEQU
=
@code
@data
@fardata
@fardata?
@stack
@CurSeg
@CodeSize
@DataSize
@WordSize
@Cpu
@Environ
@Model
@Interface
@Version
@Date
@Time
@FileCur
@FileName
@Line
完全なセグメントの制御
SEGMENT
ALIGN
ALIAS
ENDS
GROUP
.SEQ
.DOSSEG
DOSSEG
.ALPHA
簡略化セグメントの制御
.MODEL
.STARTUP
.EXIT
.CODE
.CONST
.DATA
.DATA?
.FARDATA
.FARDATA?
.STACK
ASSUME
COMM
IF
ELSE
ENDIF
ELSEIF
IFE
ELSEIFE
IFB
ELSEIFB
IFNB
ELSEIFNB
IFDEF
ELSEIFDEF
IFNDEF
ELSEIFNDEF
IFDIF
ELSEIFDIF
IFDIFI
ELSEIFDIFI
IFIDN
ELSEIFIDN
IFIDNI
ELSEIFIDNI
IF1
ELSEIF1
IF2
ELSEIF2
REPEAT
REPT
WHILE
FOR
REQ
IRP
FORC
IRPC
.IF
.ELSEIF
.ELSE
.ENDIF
.REPEAT
.UNTIL
.UNTILCXZ
.WHILE
.ENDW
.BREAK
.CONTINUE
.ERR
.ERR1
.ERR2
.ERRB
.ERRNB
.ERRDEF
.ERRNDEF
.ERRDIF
.ERRDIFI
.ERRIDN
.ERRIDNI
.ERRE
.ERRNZ
PUBLIC
EXTERN
EXTRN
ABS
EXTERNDEF
INCLUDELIB
NAME
TYPE
OPATTR
.TYPE
LENGTHOF
SIZEOF
LENGTH
SIZE
MASK
WIDTH
MOD
AND
OR
XOR
NOT
SHL
SHR
HIGH
LOW
HIGHWORD
LOWWORD
HIGH32
LOW32
==
!=
>
>=
<
<=
&
!
&&
||
CARRY?
OVERFLOW?
PARITY?
SIGN?
ZERO?
EQ
NE
GT
LT
GE
LE
.
<>
%
\
BYTE
SBYTE
WORD
SWORD
DWORD
SDWORD
FWORD
QWORD
SQWORD
TBYTE
OWORD
REAL4
REAL8
REAL10
MMWORD
XMMWORD
YMMWORD
TYPEDEF
STRUCT
STRUC
UNION
RECORD
DUP
?
.RADIX
.MSFLOAT
PROC
ENDP
INVOKE
PROTO
LOCAL
ADDR
USES
ORG
LABEL
SHORT
:
::
@@:
PTR
THIS
SEG
OFFSET
LROFFSET
$
SECTIONREL
IMAGEREL
EVEN
FAR
NEAR
FAR16
NEAR16
FAR32
NEAR32
.8086
.186
.286
.286C
.286P
.386
.386C
.386P
.486
.486P
.586
.586P
.686
.686P
.8087
.287
.387
.NO87
.MMX
.XMM
.K3D
OPTION
CASEMAP:
DOTNAME
NODOTNAME
EMULATOR
NOEMULATOR
EXPR16
EXPR32
LANGUAGE:
LJMP
NOLJMP
M510
NOM510
NOKEYWORD:
NOSIGNEXTEND
OFFSET:
OLDMACROS
NOOLDMACROS
OLDSTRUCTS
NOOLDSTRUCTS
OLDSTDCALL
PROC:
PROLOGUE:
EPILOGUE:
READONLY
NOREADONLY
SCOPED
NOSCOPED
SEGMENT:
SETIF2:
構文誤り等の深刻な問題
曖昧なステートメントや型の不一致などの、プログラミング上の問題
無効なコードを生成する恐れのある問題
2023年3月1日 更新