1TM第7章汇编语言程序设计本章主要介绍ARM汇编语言程序设计规范,以及在汇编语言程序设计中所要注意的问题,最后以大量的实例说明汇编语言程序设计方法。2TM2内容提要7.1ARM编译环境下汇编语句7.2GNU环境下汇编语句与编译说明7.3ARM汇编语言程序设计规范7.4ARM汇编语言程序设计实例解析3TM37.1ARM编译环境下汇编语句ARM编译环境下进行汇编语言程序设计的格式汇编语句中的符号规则4TM47.1.1ARM编译环境下汇编语句格式ADS环境下ARM汇编语句格式如下:{symbol}{instruction}{;comment}{symbol}{directive}{;comment}{symbol}{pseudo-instruction}{;comment}注意事项:在ARM编译环境下ARM汇编语句不能从一行的顶格书写,在一行语句中,指令的前面必须有空格或TAB符号。5TM57.1.2ARM编译环境下汇编语句中符号规则符号用来表示地址(一般为程序标号)、常量和变量。当标号以数字开头时称为局部标号,只在当前段有效。1.符号命名规则(1)符号由大小写字母、数字、下划线组成,且符号是区分大小写的。(2)局部标号可以用数字开头,其他的标号不能。(3)符号在其作用范围内必须是唯一的。(4)程序中的符号不要与指令助记符或者伪操作同名。6TM62.常量:包括数字常量、字符常量、字符串常量和布尔常量(1)十进制数,如535、246。(2)十六进制数,如0x645、0xff00。(3)n_XXX,n表示n进制数,从2~9,XXX是具体的数字。例如:8_3777(4)字符常量用一对单引号括起来,包括一个单字符或者标准C中的转义字符。例如‘A’、‘\n’。(5)字符串常量由一对双引号以及由它括住的一组字符串组成,包括标准C中的转义字符。如果需要使用双引号”或字符$,则必须用””和$$代替。(6)布尔常量在表达式中写为{TRUE}和{FALSE}7.1.2ARM编译环境下汇编语句中符号规则7TM73.变量(1)数字变量取值范围为0~232-1或-231~231-1;汇编器对关系运算符采用无符号数方式处理,这意味着0>-1是{FALSE}。(2)字符串变量字符串变量由包含在双引号内的一系列字符组成,最大长度为512字节,最小长度为0。当字符串中包含$(或”)时,用$$(或””)表示一个$(或”)。(3)逻辑变量取值范围为{TRUE}和{FALSE}7.1.2ARM编译环境下汇编语句中符号规则8TM83.变量变量代换规则:程序中的变量可通过代换操作取得一个常量对于数字变量,如果该变量前有$字符,在汇编器编译时将该数字变量的数字转换成十六进制的串,然后用该十六进制串取代$字符后的变量。对于逻辑变量,如果该变量...