单片机汇编大神请进,很简单的程序但是困扰很久
org1000hlist:db1,4,9,16,25,36,49,64,81,100movA,0movr0,0movr1,0movdptr,#1000hly:movr1,...
org 1000h
list: db 1,4,9,16,25,36,49,64,81,100
mov A,0
mov r0,0
mov r1,0
mov dptr, #1000h
ly:mov r1,@dptr
add A,r1
cjne psw.2,#1,b
inc r0
b:inc dptr
clr c
cjne @dptr,#100ah,ly
mov 30h,A
mov 31h,r0
sjmp $
end
程序的目的是想要把1到10的平方和计算出来然后存在30h31h这两个地址里,keilc51程序显示出四个错误,很困扰 求大神解救 展开
list: db 1,4,9,16,25,36,49,64,81,100
mov A,0
mov r0,0
mov r1,0
mov dptr, #1000h
ly:mov r1,@dptr
add A,r1
cjne psw.2,#1,b
inc r0
b:inc dptr
clr c
cjne @dptr,#100ah,ly
mov 30h,A
mov 31h,r0
sjmp $
end
程序的目的是想要把1到10的平方和计算出来然后存在30h31h这两个地址里,keilc51程序显示出四个错误,很困扰 求大神解救 展开
展开全部
;
ORG 0000H
CLR A
MOV 30H, A
MOV 31H, A
MOV R2, A
MOV DPTR, #LIST
LY:
MOV A, R2
MOVC A, @A + DPTR
ADD A, 30H
MOV 30H, A
JNC NEXT
INC 31H
NEXT:
INC R2
CJNE R2, #11, LY
SJMP $
LIST: DB 0,1,4,9,16,25,36,49,64,81,100
END
ORG 0000H
CLR A
MOV 30H, A
MOV 31H, A
MOV R2, A
MOV DPTR, #LIST
LY:
MOV A, R2
MOVC A, @A + DPTR
ADD A, 30H
MOV 30H, A
JNC NEXT
INC 31H
NEXT:
INC R2
CJNE R2, #11, LY
SJMP $
LIST: DB 0,1,4,9,16,25,36,49,64,81,100
END
追问
谢谢 您的程序完全正确 但是我想知道我的哪里有问题。。
追答
你写的有些指令,是不存在的,是非法指令。
B,是关键词,不能当标号用。
有些该有井号的,你忘记了写。
展开全部
应该采用带进位的加,并且要处理溢出问题。
追问
我想把溢出放在B里面,然后全部算完了再把b存进31h
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
简单还困扰?
需要帮你做吗
需要帮你做吗
追问
可以帮我改一下我的程序吗
追答
可以的
丘上说吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询