MASM61から以下のファイルをコピーする。
  • appentry.asm
  • libw.lib

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
添付ファイル