Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Assembly 如何将X指向的2字节数加载到AVR中的寄存器?_Assembly_Memory_Avr - Fatal编程技术网

Assembly 如何将X指向的2字节数加载到AVR中的寄存器?

Assembly 如何将X指向的2字节数加载到AVR中的寄存器?,assembly,memory,avr,Assembly,Memory,Avr,有LD指令,我可以使用LD Rd,X将X指向的值加载到Rd中,但是所有寄存器都是1字节,如果X指向的数据是2字节怎么办?是否自动加载到下一个寄存器?例如,如果我写入LD R21,X,那么该值将存储在R21-R20中?当然不是。cpu如何知道何时加载2个字节?您只需分别加载这两个字节。如下所示:LD R21,X+,然后LD R20,X?加载后仅递增X寄存器,它仍然只加载1个字节。您需要执行类似于ldr20,X+;LD R21,X+谢谢,老兄,我会用那种方式试试的!

有LD指令,我可以使用LD Rd,X将X指向的值加载到Rd中,但是所有寄存器都是1字节,如果X指向的数据是2字节怎么办?是否自动加载到下一个寄存器?例如,如果我写入LD R21,X,那么该值将存储在R21-R20中?

当然不是。cpu如何知道何时加载2个字节?您只需分别加载这两个字节。如下所示:LD R21,X+,然后LD R20,X?加载后仅递增X寄存器,它仍然只加载1个字节。您需要执行类似于
ldr20,X+;LD R21,X+
谢谢,老兄,我会用那种方式试试的!