标题:
编译时显示错误,求帮忙看下是什么问题
[打印本页]
作者:
天涯浪子99
时间:
2014-6-13 16:16
标题:
编译时显示错误,求帮忙看下是什么问题
显示是这样的错误:
Rebuild target 'Target 1'
assembling 123.asm...
123.asm(5): error A40: INVALID REGISTER
123.asm(5): error A9: SYNTAX ERROR
Target not created
程序:ORG 0000H
AJMP MAIN
ORG 0100H
MAIN:
MOV R1,#DPTR
MOV DPTR,#7FF8H
MOV R7,#08H
LOOP:MOVX @DPTR,A
HER: JNB P3.0,HER
MOVX A,@DPTR
MOV @R1,A
INC DPTR
INC R1
DJNZ R7,LOOP
k1: LCALL DISP
JB P3.2,K2
INC @R1
LCALL DISP
k2: JB P3.3,K1
DEC @R1
LCALL DISP
DISP: MOV A,@R1
MOV B,#10
DIV AB
MOV 20H,A
MOV 21H,B
CLR P2.4
SETB P2.5
MOV A,20H
MOVC A,@A+DPTR
MOV P1,A
LCALL DELAY
CLR P2.5
SETB P2.4
MOV A,21H
MOVC A,@A+DPTR
MOV P1,A
RET
DELAY: MOV R6,#01H
DL0: MOV R5,#61H
DJNZ R5,$
DJNZ R6,DL0
RET
TABLE: DB 0C0H,0F9H,0A4H,0B0H,99H ;
DB 92H,82H,0F8H,80H,90H
END
作者:
ahshmj
时间:
2014-6-13 20:50
MOV R1, #DPTR 这一句有问题。
“DPTR”是51单片机唯一的一个16位寄存器(其实是由DPH和DPL两个8位寄存器组成的“寄存器对”。所以DPTR既不可以作为“立即数”赋值给R1,也不可以将DPTR中的16位内容赋值给8位的R1。更何况“#DPTR"没有一个确定的值。也不可能是DPTR的2个地址。
只有“MOV R1,#DPH”或“MOV R1,#DPL”是合法的,但是传送的DPH或DPL的地址82H或83H。
作者:
heicad
时间:
2014-6-14 01:18
是的 还是 老大厉害
作者:
天涯浪子99
时间:
2014-6-15 13:33
ahshmj 发表于 2014-6-13 20:50
MOV R1, #DPTR 这一句有问题。
“DPTR”是51单片机唯一的一个16位寄存器(其实是由DPH和DPL两个8位寄 ...
谢谢,是这个问题,已经解决。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1