用于子程序返回指令使用的寄存器有( )。 ①R12 ②R13 ③R14 ④R15 ⑤SP⑥PC ⑦LR

admin2021-07-07  17

问题 用于子程序返回指令使用的寄存器有(    )。
①R12  ②R13  ③R14  ④R15  ⑤SP⑥PC  ⑦LR

选项 A、①②③④
B、③④⑥⑦
C、③④
D、⑥⑦

答案B

解析 无论何种模式,R15均作为PC(程序计数器)使用;R13~R14除了用户模式和系统模式分别为堆栈指针(Stack Pointer,SP)和程序链接寄存器(Link Register,LR)之外,其他模式下均有自己独特的标记方式,是专门用于特定模式的寄存器。子程序的调用一般是通过BL指令来实现的,使用指令“BL子程序名”即可完成程序的调用。该指令在执行时完成如下操作:将子程序的返回地址存放在链接寄存器LR中,同时将程序计数器PC指向子程序的入口点。当子程序执行完毕需要返回调用处时,只需将存放在LR中的返回地址重新拷贝给程序计数器PC。在调用子程序的同时,也可以完成参数的传递和从子程序返回运算结果,通常可以使用寄存器R0-R3完成。故本题选择B选项。
转载请注明原文地址:https://kaotiyun.com/show/Ae0Z777K
0

最新回复(0)