你好,這樣的我設定十個數都是FF,算出來的平均值是E5,也就是說FF0除以了11,不曉得是什麼問題,幫幫忙吧 匿名使用者 1級 2018-07-07 回答

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

這樣就對了,你自己再想想