ARM汇编器所支持的伪操作 - 信息报告伪操作

信息报告伪操作用于汇编报告指示。该类伪操作如下。

ASSERT:用于断言错误伪操作;

INFO:用于汇编诊断信息显示伪操作。

1.断言错误伪操作ASSERT

(1)语法格式

ASSERT为断言错误伪操作。在汇编器对汇编程序进行第二遍扫描时,如果发现ASSERT条件不成立,汇编器将报告错误信息。

语法格式如下。

          ASSERT  logical-expression

其中,logical-expression用于断言的逻辑表达式,其值为“真”或“假”。

(2)使用说明

ASSERT伪操作用于确保源程序在汇编时满足一定的条件。当条件不成立,即逻辑表示logical-expression为“假”时,汇编器报告错误。

(3)示例

① 下面的程序在Top和Temp相等时报告错误。

          ASSERT    Top<>Temp  ;

② 当label1代表的地址大于label2所代表的地址时报告错误。

          ASSERT    label1<=label2;

2.诊断信息显示伪操作INFO或“!”

(1)语法格式

汇编诊断信息显示伪操作INFO用于在汇编器处理过程中的第一遍扫描或第二遍扫描时报告诊断信息。

“!”和INFO相似。

语法格式如下。

          INFO  numeric-expression,string-expression

其中,numeric-expression:数字表达式,在汇编时计算。如果numeric-expression的值为0,则通过第一遍汇编,并在第二遍汇编时报告“string-expression”的内容;如果numeric-expression的值不等于0,则在第一遍汇编过程中报告“string-expression”的内容,并中止汇编。

string-expression:字符串表达式,用于在汇编过程中报告信息。

(2)使用说明

INFO提供了一种方便的方法创建用户自己的诊断信息。

(3)示例

下面的程序在第二遍汇编扫描时报告版本信息,并判断cont1和cont2的关系。

          INFO   0,“verion  1.0”       ;在第二遍扫描时,报告版本信息
          IF  cont1>cont2                 ;如果cont1>cont2
              INFO   1,“cont1>cont2”    ;则在第一遍扫描时报告“cont1>cont2”
          ENDIF

你可能感兴趣的:(#,ARM体系结构与编程,开发语言,arm开发,ARM,嵌入式,linux)