发布网友 发布时间:2022-04-21 17:52
共1个回答
热心网友 时间:2023-08-30 11:18
对,没错,loop就和C语言里面goto的那个标号是一样的,虽然在编写程序时只是一个标号,但是其深层意思,也就是其编译后的结果其实是一个地址,比如0x2000_1010。
你的上述程序解释如下:
ldrb ch , [src] , #1 ;以src中的值为地址,从该地址处取1字节数据到ch,再将src加1
strb ch , [dest] , #1 ;以dest中值为地址,将ch中1字节数存储在此处,再将dest加1
cmp ch , #0 ;比较ch和0的大小
bne loop ;如果ch不为0(注意这个"ne"),则跳至loop执行
很明显,这是一个字符串拷贝程序,从src地址处拿来,一字节一字节放到dest去,然后一边进行判断,看是否已拷贝到最后的结尾字符'0',如果没到,那么跳到loop处继续循环执行,如果已到,则继续往下执行。虽然你程序里没写loop标号位置,但应该是在ldrb指令前面,以达到循环的效果。