MOV R7,#2H MOV R0,#30H MOV R1,#40H MOV A,#11 MOV @R0,A INC R0 MOV A,#11 MOV @R0,A MOV A,#22 MOV @R1,A INC R1 MOV @R1,A ACALL BCDA ACALL DISP BCDA: MOV A,R7 ;取字节数至R2中 MOV R2,A ADD A,R0 ;初始化数据指针 MOV R0,A MOV A,R2 ADD A,R1 MOV R1,A CLR C BCD1: DEC R0 ;调整数据指针 DEC R1 MOV A,@R0 ADDC A,@R1 ;按字节相加 DA A ;十进制调整 MOV @R0,A ;和存回[R0]中 DJNZ R2,BCD1 ;处理完所有字节 RET DISP:MOV A,31H ANL A,#0F0H SWAP A MOV 75H,A MOV A,31H ANL A,#0FH MOV 74H,A MOV A,30H ANL A,#0F0H SWAP A MOV 77H,A MOV A,30H ANL A,#0FH MOV 76H,A DISP_1: MOV DPTR,#0FF82H MOV A,#90H MOVX @DPTR,A MOV R0,#70H MOV R7,#04H MOV DPTR,#0FF81H DL0: MOV A,@R0 ADD A,#17H MOVC A,@A+PC PUSH ACC MOV A,R0 JB ACC.0,NEXT ANL A,#0FH ;去掉最后一位的小数点 JZ NEXT POP ACC ORL A,#80H AJMP NEXT0 NEXT: POP ACC NEXT0: MOVX @DPTR,A INC R0 DJNZ R7,DL0 RET TAB: DB 3FH,06H,5BH,4FH,66H DB 6DH,7DH,07H,7FH,6FH END