ORG 0
LJMP START
ORG 0030H
START:MOV DPTR, #1000H ;將片外數據送到片內RAM40H開始的單元中
MOV R0,#40H
MOV R7, #30
LOOP0:MOVX A,@DPTR
MOV @R0,A
INC DPTR
INC R0
DJNZ R7,LOOP0
MOV PSW,#00H;排序
MOV R2, #29
LOOP1:MOV R0,#40H
MOV R1,#41H
MOV 03H,R2
CLR 7FH
LOOP2:MOV A,@R0
MOV 30H,A
MOV A,@R1
CJNE A,30H,LOOP3
SJMP L1
LOOP3:JC L1
MOV @R0,A
XCH A,30H
MOV @R1,A
SET 7FH
L1: INC R0
INC R1
DJNZ R3,LOOP2
JNB 7FH,LOOP4
DJNZ R2,LOOP1
LOOP4:MOV DPTR, #2000H ;將排好序的成績送到片外RAM從2000H開始的單元中
MOV R0,#40H
MOV R7, #30
LOOP5:MOV A,@R0
MOVX @DPTR,A
INC R0
INC DPTR
DJNZ R7, LOOP5
SJMP $;結束
END