(简答题)
指令ADR,ADRL、LDR、NOP是如何处理地址值读入到寄存器中的?
正确答案
ADR是将基于PC或者寄存器的地址值读入到寄存器的,ADR伪指令通常被替换成一条ADD指令或SUB指令来实现该ADR指令的功能。而ADRL伪指令与ADR指令的最大不同之处是,它可以读取更大范围内的地址,而且被编译器替换成2条数据处理指令。LDR将一个32位的立即数或者一个地址值读取到寄存器中。大范围的地址读取。NOP在汇编时将被替换成ARM中的空操作。
答案解析
略
相似试题
(简答题)
请指出LDR伪指令的用法。指令格式与LDR加载指令的区别是什么?
(简答题)
简述MOV指令和LDR加载指令的区别。
(填空题)
指令LDR PC,[PC,#4]是()
(单选题)
NOP和END两个指令,是()
(简答题)
请说明MOV指令和LDR指令在传送立即数时,使用方法的区别。
(简答题)
LDR/STR指令的偏移形式有哪4种?LDRB指令和LDRSB指令有何不同?
(单选题)
ARM指令LDR R0,[R1,#4]!执行后,以下说法正确的是()。
(单选题)
在小端模式下,通过ARM伪指令MyData DCW 0x1122,0x3344,0x5566,0x7788在内存中定义了4个16位操作数,则在伪指令LDR R1,=MyData后执行指令LDR R0,[R1,#4],则R0的值为()。
(简答题)
以下指令序列中,哪些指令对发生数据相关?假定采用“取指、译码/取数、执行、访存、写回”五段流水线方式,那么不用“转发”技术的话,需要在发生数据相关的指令前加入几条nop指令才能使这段程序避免数据冒险?如果采用“转发”是否可以完全解决数据冒险?不行的话,需要在发生数据相关的指令前加入几条nop指令才能使这段程序不发生数据冒险?