在MASM(Microsoft Micro Assembler)的汇编体系中,子程序(Procedures)的定义和调用是非常重要的,就像C、pascal等的函数和方法一样;且对深入理解高级语言里函数的底层原理极其重要,如函数的参数传递、栈、变长参数等。但在网络上许多教程及代码都极其不规范且语焉不详;有的代码虽然可以运行,但都存在潜在Bug。我仔细阅读了Microsoft的相关手册后,像子程序的严格定义及调用分享如下:
在MASM(Microsoft Micro Assembler)的汇编体系中,子程序(Procedures)的定义和调用是非常重要的,就像C、pascal等的函数和方法一样;且对深入理解高级语言里函数的底层原理极其重要,如函数的参数传递、栈、变长参数等。但在网络上许多教程及代码都极其不规范且语焉不详;有的代码虽然可以运行,但都存在潜在Bug。我仔细阅读了Microsoft的相关手册后,像子程序的严格定义及调用分享如下: