RxDOS中的函数命名约定

时间:2016-07-08 04:50:37

标签: assembly naming-conventions masm rxdos

在RxDOS源代码中,具有相同名称的函数区分为数字后缀,如下所示:

RxDOS_WRITESTUB:
...
RxDOS_WRITESTUB_06:
...
RxDOS_WRITESTUB_10:
...

为什么会这样?

1 个答案:

答案 0 :(得分:3)

这似乎是实施范围标签的粗略方式。源代码是用MASM 5.1编译的,它不支持默认标记的函数作用域。函数中定义的所有标签(例如PROC / ENDP块)在函数外部是可见的,因此需要注意不要在两个不同的函数中定义具有相同名称的标签。

此处使用的约定是不使用MASM的PROC / ENDP块来定义函数,只需使用普通标签来标记函数的开头。函数中的标签是通过在函数名称后附加数字来形成的。因此RxDOS_WRITESTUB是函数的名称,而RxDOS_WRITESTUB_06是该函数中标签的名称。后面的标签只能由函数中的代码引用。

我不建议您在自己的代码中遵循约定。自从1991年发布MASM 6.0以来,MASM默认支持函数范围标签。更好的约定是编写如下代码:

RxDOS_WRITESTUB PROC
    ...
loop_args:
    ...
found_switchchar:
    ...
RxDOS_WRITESTUB ENDP

请注意,我已经为函数本地标签提供了更多描述性名称而不是数字。