简单的单片机程序编程!

来源:百度知道 编辑:UC知道 时间:2024/05/29 00:21:48
下面这个程序对吗?什么意思?多谢!
MOVX DPTR,2100H
ANL @DPH,#0F0H
ORL @DPH,#0F0H
ANL @DPL,#00H

给DPTR赋值用mov就可以,movx是外部操作才用的,anl和orl必须通过累加器A才行,并且不可能@dDPH和@DPL,因为可以间接寻址的就是R0和R1,还有就是DPTR整体

后三条对 MOVX DPTR,2100H不对 2100H在51系列芯片中的内部存储器但是在31系列里面是外部的 因为31系列芯片内部没有存储单元,ANL @DPH,#0F0H是把DPH的内容和F0H相与结果放进单元DPH里面下面的大同小谊ORL 是或运算 DPH是DPTR的高八位,DPL是DPTR的第八位......

呵呵,这四条指令,没有一条是对的。

理由都是:单片机指令系统中,根本就没有这些指令。

你的代码都是错误的,应该如下:
MOV DPTR,#2100H
;MOVX DPTR,2100H如果是对的,那么2100H 是一个字节, 但DPTR 是双字节的,这显然不对

后面三条就更不对了,因为 (ANL,ORL)逻辑运算都必须由累加器 A参与运算的