我明白MOV、STA和LDA指令的意义,但我不明白的是,为什么对于两个不同的过程有三个不同的指令?
STA用于将数据从累加器复制到内存位置,LDA用于将数据从内存位置复制到累加器和MOV用于在寄存器、寄存器和内存之间复制数据。所以,我对STA和LDA指令所能做的也可以用MOV指令来完成,对吗?
发布于 2016-11-24 22:06:55
指令LDA和STA在内存和A之间移动数据。指令MOV要么在寄存器之间移动数据,要么在寄存器和HL指定的内存位置之间移动数据。
当可以在程序集/链接时间解析地址时,使用LDA和STA。
当在运行时计算内存地址并将其放置在MOV中时,将使用HL。例如,当您迭代一个数组时。
您已经发现了直接和间接的内存寻址。
https://stackoverflow.com/questions/40794111
复制相似问题