GNU ARM汇编中,支持如下形式的循环结构:
.rept times
code
.endr
code 表示一段代码,.rept和.endr都是汇编伪指令,times是一个数字,表示code这段代码要重复执行的次数。
另一种循环的形式如下:
.irp param,val1,val2...
code
.endr
其中.irp也是汇编伪指令。param是一个参数名,其后的val1,val2则是它的取值列表。code这段代码中可以引用参数param,形式是参数名前面 加一个反斜杠\。整段代码的含义是重复code代码若干次,其中对param参数的引用依次替换未参数列表中的值。需要注意的是,这种替换仅仅是一个简单的字符串替换。