ORG 2000H
MOV R0,09H
MOV R1,#20H
MOV A,@R1
LOOP1: MOV R3,A
CLR CY
INC R1
SUBB A,R1
JNC LOOP2
MOV A,@R1
SJMP LOOP3
LOOP2: MOV A,R3
LOOP3: DJNZ R0,LOOP1
MOV 30H,A
SJMP $
END
transc:
mov r0,#10
mov r1,#30h
mov dptr,#1000h
loop:
mov a,@r1
movx @dptr,a
inc r1
inc dptr
djnz r0,loop
ret
RAMDAT:
MOV DPTR,#0000H
MOV A,#5
MOV R2,#20H
LOOP:
MOVX @DPTR,A
INC DPTR
INC A
DJNZ R2,LOOP
RET
如下即可:
;
MOV DPTR, #3000H
MOV R0, #30H
MOV R2, #30
LOP:
MOV A, @R0
MOV @R0, #0
MOVX @DPTR, A
INC R0
INC DPTR
DJNZ R2, LOP
RET
END
SUB: MOV DPTR,#2000H MOV R7,#08H MOV R0,#30H LOOP: MOVX A,@DPTR MOVX @R0,A INC DPTR INC R0 DJNZ R7,LOOP RET
以你上图为例,具体 *** 作如下:1、在C1单元格内输入 =IF(A1="S",B1,0), 再往下拉到C112、在D1单元格内输入 =IF(A1="D",B1,0), 再往下拉到C113、在B11单元格内输入 =MAX(C1:C10)4、在B12单元格内输入 =MAX(D1:D10)5、把C列和D列隐藏。就可以了,你试试。(我想的这个办法是一个比较笨的办法,肯定还有比我的更好的办法,如果没找到更好的,先用我这个凑合着用吧!)
MOV DPTR,#1000H
MOV R0, #30H
MOV R7, #31H
L1: MOVX A, @DPTR
MOV @R0, A
INC R0
INC DPTR
DJNZ R7, L1
以上就是关于编写程序:把内部RAM中存储地址从20H开始的10个8位无符号二进制数相加,结果送30H单元。全部的内容,包括:编写程序:把内部RAM中存储地址从20H开始的10个8位无符号二进制数相加,结果送30H单元。、编写程序:把片内RAM中30H开始的10H个存储单元的数据传送到片外RAM中1000H开始的10H个存储单元、单片机,用汇编语言编写将片外RAM中0000H-001FH单元依次赋值为从5开始的自然数的程序。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)