【汇编】MOV DPTR,#E000H;MOVX A,@DPTR与MOVX A, #E000H有什么区别?
2个回答
展开全部
嘿嘿
MOV DPTR,#E000H;MOVX A,@DPTR与MOVX A, #E000H有什么区别?
最大的区别就是一个是51单片机的合法指令,另一个是51单片机的非法指令
你是想访问片外数据存储器,将片外数据存储器地址为E000H单元的内容传送给累加器A。
访问片外数据存储器必须要使用数据指针DPTR做间接寄存器来访问
MOV DPTR,#E000H; 首先将要访问的地址送给指针 即要确定数据指针的指向(E000H的单元)
MOVX A;使用片外数据存储器的传送指令,将指针所指的单元的内容送给累加器A。
因此 以上指令时正确的。
而MOVX A, #E000H 在8051单片机的指令表中时不存在的,
MOVX指令 只能采用寄存器间接寻址 即如,@DPTR ,@R0; 而不能采用其它寻址方式
如: #E000H 立即数寻址 E000H 直接寻址 都是不对的 ,即违法的。
呵呵 满意 就选满意回答啊
MOV DPTR,#E000H;MOVX A,@DPTR与MOVX A, #E000H有什么区别?
最大的区别就是一个是51单片机的合法指令,另一个是51单片机的非法指令
你是想访问片外数据存储器,将片外数据存储器地址为E000H单元的内容传送给累加器A。
访问片外数据存储器必须要使用数据指针DPTR做间接寄存器来访问
MOV DPTR,#E000H; 首先将要访问的地址送给指针 即要确定数据指针的指向(E000H的单元)
MOVX A;使用片外数据存储器的传送指令,将指针所指的单元的内容送给累加器A。
因此 以上指令时正确的。
而MOVX A, #E000H 在8051单片机的指令表中时不存在的,
MOVX指令 只能采用寄存器间接寻址 即如,@DPTR ,@R0; 而不能采用其它寻址方式
如: #E000H 立即数寻址 E000H 直接寻址 都是不对的 ,即违法的。
呵呵 满意 就选满意回答啊
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询