I have heard some noise here and there about the lack of native runtime comparison operators in 64 bit MASM but Vasily's runtime comparison operators work just fine. They look a little different as the pre-processor in 64 bit MASM excludes <>! characters but its no big deal and you get used to them fast enough.
; ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
include \masm32\include64\masm64rt.inc
.code
; ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
entry_point proc
LOCAL pMsg ;QWORD
LOCAL wParam :QWORD
LOCAL lParam :QWORD
mov wParam, 1
mov pMsg, WM_PAINT
mov lParam, 2
.if wParam == 1
.if lParam {} 3 || pMsg {} WM_COMMAND
.if wParam } 1 || wParam { 4
conout " ----------------------------------------",lf
conout " Ain't Vasily's runtime comparisons great",lf
conout " ----------------------------------------",lf
.endif
.endif
.endif
waitkey
.exit
;;; invoke ExitProcess,0
ret
entry_point endp
; ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤