;51单片机 将片外ROM1000H的数据从大到小排序 然后输出到片外RAM2000H的小程序



        mov   R7, #0AH ; 循环次数
        mov   DPTR, #1000H;片外地址
        MOV   R1, #30H
LOOP1:  MOV   A,  #0H
        MOVC  A, @A+DPTR
        MOV   @R1, A
        INC   R1
        INC   DPTR
        DJNZ  R7, LOOP1

        ACALL QUE

        MOV   DPTR, #2000H
        MOV   R7, #0AH
        MOV   R1, #30H
LOOP2:  MOV   A,@R1
        MOVX  @DPTR, A
        INC   DPTR
        INC   R1
        DJNZ  R7,LOOP2


OUT:  MOV R0,#30H
          MOV DPTR,#1000H
          MOV R7,#10
OUT1: MOV A,@R0
      MOVX @DPTR,A
            INC R0
            INC DPTR
            DJNZ R7,OUT1
HERE: AJMP HERE




QUE:  CLR 00H
      MOV R1,#39H ;
      MOV R6,#09H
I3:   MOV A,R6
      MOV R7,A
            MOV A,R1
            MOV R0,A
            MOV A,@R0
I2:   DEC R0   ;
      MOV R2,A
            SUBB A,@R0  ;
            MOV A,R2
            JC I1
            SETB 00H
            XCH A,@R0
I1:   DJNZ R7,I2
      NOP            ;可在此处设置断点观察每次排序结果
      JNB 00H,STOP
      MOV @R1,A
      DEC R1    ;
      DJNZ R6,I3

STOP:    RET

END