;
#########################################################################
.386
.model flat, stdcall
option casemap :none ; case sensitive
;
#########################################################################
include \masm32\include\windows.inc
include \masm32\include\user32.inc
include \masm32\include\kernel32.inc
includelib \masm32\lib\user32.lib
includelib \masm32\lib\kernel32.lib
;
#########################################################################
.code
start:
jmp @F
szDlgTitle db "Minimum MASM",0
szMsg db " --- Assembler Pure and Simple --- ",0
@@:
push MB_OK
push offset szDlgTitle
push offset szMsg
push 0
call MessageBox
push 0
call ExitProcess
;
--------------------------------------------------------
; The following are the same function calls
using MASM
; "invoke" syntax. It is clearer
code, it is type checked
; against a function prototype and it is
less error prone.
;
--------------------------------------------------------
; invoke MessageBox,0,ADDR szMsg,ADDR
szDlgTitle,MB_OK
; invoke ExitProcess,0
end
start