这个是我自己编的一个计算0030H到0037H位置8个数的平均数的程序,编译的时候没有错误。但是调试的时候发现0030到0037的值总是不变的,是DB的使用出了问题?
ORG 0000H
LJMP MAIN
ORG 0030H
DB 1,2,3,4,5,6,7,8
MAIN: MOV R0,#30H
MOV R1,#00H
MOV R2,#00H
MOV R3,#07H
LP2: MOV A,@R0
ADD A,R2
MOV R2,A
JNC LP1
INC R1
LP1: INC R0
DJNZ R3,LP2
MOV R3,03H
LP3: CLR C
MOV A,R1
RRC A
MOV R1,A
MOV A,R2
RRC A
MOV R2,A
DJNZ R3,LP3
MOV 3AH,R2
SJMP $
END
一道汇编小问题,关于DB使用
答案:2 悬赏:10 手机版
解决时间 2021-03-17 13:18
- 提问者网友:箛茗
- 2021-03-17 06:59
最佳答案
- 五星知识达人网友:过活
- 2021-03-17 07:36
你搞错了。
ORG 0030H
DB 1,2,3,4,5,6,7,8 这个DB是把数据存在单片机内部程序存储区
MAIN: MOV R0,#30H ,这个指向的是单片机内部数据存储区
ORG 0030H
DB 1,2,3,4,5,6,7,8 这个DB是把数据存在单片机内部程序存储区
MAIN: MOV R0,#30H ,这个指向的是单片机内部数据存储区
全部回答
- 1楼网友:酒者煙囻
- 2021-03-17 08:54
a.add [bx],[2000h] ;不允许两个操作数同为存储单元 b.adc [si][di],ax ;只能使用一个变址寄存器 c.sub [2000h],[20h] ;不允许两个操作数同为存储单元 d.sbb ax,bx ;正确
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯