MASM61から以下のファイルをコピーする。
msgbox2.asm
.model small, pascal, nearstack
.286
includelib libw
; include win.inc するとエラーが発生するので抜粋
UINT TYPEDEF WORD
NULL EQU 0t
LPSTR TYPEDEF FAR PTR SBYTE
LPCSTR TYPEDEF FAR PTR SBYTE
HANDLE TYPEDEF UINT
HWND TYPEDEF UINT
@proto_583 TYPEDEF PROTO FAR PASCAL :HWND, :LPCSTR, :LPCSTR, :UINT
MessageBox PROTO @proto_583
@proto_674 TYPEDEF PROTO FAR C :LPSTR, :LPCSTR, :VARARG
wsprintf PROTO @proto_674
MB_OK EQU 000000000h
MB_ICONQUESTION EQU 000000020h
extern __astart:proc
.const
appname sbyte "msgbox2", 0
fmt sbyte "%c %d %04X %s", 0
.data?
buf sbyte 1024+1 dup (?)
.code
WinMain proc, hInstance:HANDLE, hPrevInstance:HANDLE, lpszCmdLine:LPSTR, nCmdShow:SWORD
invoke wsprintf, addr buf, addr fmt, '*', -1, 0f9ah, offset appname, ds
invoke MessageBox, NULL, addr buf, addr appname, MB_OK or MB_ICONQUESTION
mov al, 0
ret
WinMain endp
.stack 5120
end
ml /c /DMODEL=small appentry.asm
ml /c msgbox2.asm
link16 msgbox2 appentry;
最終更新:2018年09月03日 17:25