在ARM汇编语言中,小端模式下,通过伪指令MyData DCD 0x01234567在内存中定义了1个32位操作数,已知R0=0x56000012,则依次执行: LDR R1,=MyData LDRH R0,[R1,#2] 两条指令后,R0的值为(

admin2019-01-06  30

问题 在ARM汇编语言中,小端模式下,通过伪指令MyData DCD 0x01234567在内存中定义了1个32位操作数,已知R0=0x56000012,则依次执行:
LDR R1,=MyData
LDRH R0,[R1,#2]
两条指令后,R0的值为(    )。

选项 A、0x00000123
B、0x00004567
C、0x00000067
D、0x01234567

答案A

解析 伪指令在源程序中的作用是为完成汇编程序作各种准备工作,这些伪指令仅在汇编过程中起作用,一旦汇编结束,伪指令的使命就完成。DCD为数据定义伪指令,用于分配一片连续的字存储单元,并用伪指令中指定的表达式初始化;IDRH是半字数据加载指令。题中将R1+2指示的存储器的半字数据读入寄存器R0中,并将R0的高16位清零。故选A。
转载请注明原文地址:https://jikaoti.com/ti/Yh17FFFM
0

最新回复(0)