欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

masm32中的宏定义

程序员文章站 2024-03-01 19:50:52
...

在C中经常用printf,在运行期显示一些变量的内容来进行调试。而在MASM中则用echo来在汇编期显示文本变量的内容。

  china TEXTEQU <great country>

  %echo china

masm32中的宏定义

窗口过程中的消息处理

宏定义及调用 

message_start Macro
	Xor Eax, Eax
	.If Eax < 0
		Ret
EndM

message_id Macro msgID, subName
	label1 CatStr < .ElseIf uMsg == msgID >
	label2 CatStr < Invoke > , < subName > , < , hWnd > , < , wParam > , < , lParam >
	Ret
EndM

message_end Macro
	.EndIf
	Ret
EndM

command_id Macro CtrlID, subName
	label1 CatStr < .ElseIf uMsg == WM_COMMAND && wParam == CtrlID >
	label2 CatStr < Invoke > , < subName > , < , hWnd > , < , wParam > , < , lParam >
	Ret
EndM

窗口函数中的调用 

Window1Procedure Proc hWnd:HWND, uMsg:ULONG, wParam:WPARAM, lParam:LPARAM
	message_start
	message_id WM_CREATE, WindowInit
	message_id WM_CLOSE, Window1OnClose
	command_id IDC_WINDOW1_BUTTON1, WindowOnButton1
	message_end
Window1Procedure EndP
masm32中的宏定义


 宏函数中的文件转义和使用

message_id Macro msgID, subName
		.ElseIf uMsg == msgID
	 	Fun1 CatStr < Invoke > , < subName > , < , hWnd > , < , wParam > , < , lParam >;这里是定义
		Fun1;//这里是调用
EndM
masm32中的宏定义