masm

masm32中的宏定义

2019-06-12
81次浏览

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

  china TEXTEQU 

  %echo china


窗口过程中的消息处理

宏定义及调用 

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



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

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


我要点评

评论暂时关闭。