MOV B,A
ISST2: INC R1
MOV A,@R1 CLR C SUBB A,B JC ISST3 MOV A,@R1 MOV R2,A MOV B,@R1
ISST3: DJNZ R6,ISST2
MOV A,B XCH A,@R1 MOV B,R2 MOV @R1,B MOV @R1,A DJNZ R7,ISST1 MOV R0,BLOCK
MOV @R0,#0 ;È¥µô×îµÍ·Ö MOV A,BLOCK ADD A,#9 MOV R0,A
MOV @R0,#0 ;È¥µô×î¸ß·Ö
AD: MOV R0,BLOCK
INC RO MOV R1,#8 CLR A CLR C MOV B,#0
ADL: ADD A,@R0
DA A MOV R2,A ADDC A,#0 MOV B,A MOV A,R2 DJNZ R1,ADL MOV R5,0 MOV R4£¬B MOV R3£¬A MOV R2,#0 MOV R1£¬#8
R5R4R3/R2R1 MOV R1,#00H MOV R2,#0FH MOV R3,#04H MOV R4,#05H MOV R5,#06H LCALL _DIV
AJMP $
_DIV: ;{ CLR C MOV 30H,#0 MOV 31H,#0
MOV 32H,#0
_DIV_LOOP: CLR C MOV A,R3 SUBB A,R1 MOV R3,A
MOV A,R4
= R4R3
SUBB A,R2 MOV R4,A MOV A,R5 SUBB A,#0 MOV R5,A JC _DIV_END
_INC_SHANG: CLR C
MOV A,30H ADDC A,#1 MOV 30H,A MOV A,31H ADDC A,#0 MOV 31H,A MOV A,32H ADDC A,#0 MOV 32H,A LJMP _DIV_LOOP
_DIV_END: CLR C
MOV A,R1 ADDC A,R3 MOV A,R2 ADDC A,R4 MOV R3,30H MOV R4,31H END
7¡¢±àд½«Ò»¸öÊ®Áù½øÖÆÊýת»»ÎªÊ®½øÖÆÊýµÄ×Ó³ÌÐò¡£ > 0000 78FE 2 0002 7930 3
MOV R0,#FEH MOV R1,#30H
MOV A,R0
0004 E8 4 HEXBCD:
0005 75F064 5 MOV B,#100
0008 84 6 0009 F7 7 000A 740A 8 000C C5F0 9 000E 84 10 000F 09 11 0010 F7 12 0011 09 13 0012 A7F0 14
DIV AB MOV @R1,A MOV A,#10 XCH A,B DIV AB INC R1 MOV @R1,A INC R1 MOV @R1,B 15
RET
8¡¢ÔÚÄÚ²¿RAMµÄBLOCK¿ªÊ¼µÄµ¥ÔªÖÐÓÐÒ»ÎÞ·ûºÅÊý¾Ý¿é£¬Êý¾Ý³¤¶ÈΪLEN¡£ÊÔ±à³ÌÇóÆäÖÐ×î´óµÄÊý²¢´æÈëMAXÖС£ MCS51
1 2 3
ORG 0H
LEN EQU #10 ;Êý¾Ý¿é³¤¶È MAX EQU #40H
; BLOCKÊ×µØÖ·
0000 7830 4 0002 790A 5 0004 19 6 0005 C3 7
MOV R0,#30H MOV R1,LEN
DEC R1 ; Ñ»·´ÎÊý CLR C
0006 E6 8 LOOP: MOV A,@R0 0007 08 9 0008 96 10 0009 4002 11 000B 8002 12
INC R0 SUBB A,@R0 JC EXCHANG SJMP NEXT
000D 86F0 13 EXCHANG: MOV B,@R0 000F C3 14 NEXT: CLR C 0010 D9F4 15
DJNZ R1,LOOP