你好,這樣的我設定十個數都是FF,算出來的平均值是E5,也就是說FF0除以了11,不曉得是什麼問題,幫幫忙吧
匿名使用者 發表于 娛樂2021-09-11
ORG 0000H
AJMP MAIN
ORG 0030H
MAIN:
MOV R0,#50H
MOV R7,#10
MOV R2,#00H
MOV A,#00H
LOOP:CLR C
ADD A,@R0
JNC BBB
INC R2
CLR C
BBB: INC R0
DJNZ R7,LOOP
MOV 5CH,A ;把和放5CH,不用管溢位的,和為s1
MOV 5BH,R2 ;把溢位的次數放地址5BH
MOV B,5BH ;溢位的次數給B
MOV A,#19H ;溢位一次相當於 100H=(FAH+06H)=19*BH+ 6*BH /A
MUL AB ;A=溢位部分的平均值,肯定小於0FF
MOV 5AH,A ;第一部分的平均值p1給5AH
MOV A,#6H
MOV B,5BH
MUL AB ;值給5BH,最大值是3CH,所以不用考慮溢位。
ADD A,5CH
MOV 5DH,A
JNC CCC ;
MOV A,#19H
ADD A,5AH
MOV 5AH,A
MOV A,5DH
ADD A,#06H ;溢位1次等於100H=(FAH+06H)=19*BH+ 6*BH /A
CCC:
MOV B,#10
DIV AB ;6B+s1的平均值p2
ADD A,5AH
MOV 5AH,A ;p1+p2
MOV 5BH,B
SJMP $
END
這樣就對了,你自己再想想