ZHCU875Z August 2001 – October 2023 SM320F28335-EP
宏语言支持三条指令,可供用户定义自有的汇编时错误和警告消息。如果要根据需求创建特定消息,这些指令特别有用。列表文件的最后一行显示错误和警告计数。这些计数提醒用户代码中存在问题,在调试期间会特别有用。
.emsg | 将错误消息发送到列表文件。.emsg 指令生成错误的方式与汇编器相同:递增错误计数并阻止汇编器生成目标文件。 |
.mmsg | 将汇编时消息发送到列表文件。.mmsg 指令的运行方式与 .emsg 指令相同,但不设置错误计数,也不会阻止生成目标文件。 |
.wmsg | 将警告消息发送到列表文件。.wmsg 指令的运行方式与 .emsg 指令相同,但会递增警告计数,不会阻止生成目标文件。 |
宏注释是出现在宏定义中的注释,但不出现在宏扩展中。第 1 列的感叹号标识一条宏注释。如果希望注释出现在宏扩展中,请在注释前添加星号或分号。
在宏中生成消息 展示了宏中的用户消息,以及不会出现在宏扩展中的宏注释。有关 .emsg、.mmsg 和 .wmsg 汇编器指令的更多信息,请参阅定义消息。
1 testparam .macro x, y
2 !
3 ! This macro checks for the correct number of parameters.
4 ! It generates an error message if x and y are not present.
5 !
6 ! The first line tests for proper input.
7 !
8 .if ($symlen(x) == 0)
9 .emsg "ERROR --missing parameter in call to TEST"
10 .mexit
11 .else
12 MOV ACC, #2
13 MOV AL, #1
14 ADD ACC, @AL
15 .endif
16 .endm
17
18 000000 testparam 1, 2
1 .if ($symlen(x) == 0)
1 .emsg "ERROR --missing parameter in call to TEST"
1 .mexit
1 .else
1 000000 FF20 MOV ACC, #2
000001 0002
1 000002 9A01 MOV AL, #1
1 000003 A0A9 ADD ACC, @AL
1 .endif