分析这样一段程序 汇编语言

2019-07-15 19:13发布

本帖最后由 蓝天ss 于 2014-7-7 10:22 编辑

将程序存储器0200H、0201H两个单元中的内容传送到内部RAM的30H、31H两个单元正,试编程。
MOV   DPTR,#0200H
MOV   R0,#30H
MOV   A,#00H
MOVC  A,@A+DPTR
MOV   @R0,A
INC     DPTR
INC     R0
MOV    A,#00H
MOVC    A,@A+DPTR
MOV    @R0,A

我想问把存储器0200H单元里面的内容传送到30h 单元,既然是里面的内容,我觉得指令应该是
MOV   DPTR, 0200H   不应该有“#”这个符号,请问该怎么理解。还有MOV
A , #00H,意思是把累加器A 清零吗?        分析下我哪里了解的不够
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
6条回答
依然落叶飘零
2019-07-16 14:51
不是这样说的,没有MOV   DPTR,0200H这样的指令的。只有MOVDPTR #data16这条指令.
不能单单看MOV   DPTR,#0200H这条指令。其实他是和MOVC  A,@A+DPTR这指令一起的。
这是变址寻址。先通过MOV   DPTR,#0200H将首地址地址0200H保存在DPTR中
再通过MOVC  A,@A+DPTR将偏移地址读出来。我也说的不好。你先懂得那几种寻址方式和他们的区别吧。
如果不明白再上来问。个人水平有限,只能说个大概。

一周热门 更多>