您的位置:控制工程论坛网论坛 » 软件与程序 » MCS-51单片机实用子程序库 排序程序

xilinxue

xilinxue   |   当前状态:在线

总积分:16186  2024年可用积分:0

注册时间: 2008-06-26

最后登录时间: 2020-03-22

空间 发短消息加为好友

MCS-51单片机实用子程序库 排序程序

xilinxue  发表于 2009/6/27 17:40:14      1545 查看 9 回复  [上一主题]  [下一主题]

手机阅读

;内部RAM数据排序程序(升序)
;入口: R0(起始地址),N(数据个数)
;占用资源: ACC,B,R5,R6,R7
;堆栈需求: 2字节
;出口: R0
ISELSORT : MOV R7,N
DEC R7
ISST1: MOV A,R7
MOV R6,A
MOV A,R0
MOV R1,A
MOV R2,A
MOV B,@R1
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
RET
1楼 0 0 回复
  • xilinxue

    xilinxue   |   当前状态:在线

    总积分:16186  2024年可用积分:0

    注册时间: 2008-06-26

    最后登录时间: 2020-03-22

    空间 发短消息加为好友

    xilinxue   发表于 2009/2/13 13:00:31


    ;辛普生积分程序
    ;入口: DPTR,N,COUNT
    ;占用资源: ACC,R3,R4,R6,R7
    ;堆栈需求: 2字节
    ;出口: R3,R4
    SJF : MOV R7,N
    MOVX A,@DPTR
    INC DPTR
    MOV R4,A
    MOV R3,#00H
    DEC R7
    SJF1 : MOVX A,@DPTR
    INC DPTR
    CLR C
    RLC A
    MOV R6,A
    CLR A
    RLC A
    XCH A,R7
    JNB ACC.0,SJF2
    XCH A,R6
    RLC A
    XCH A,R6
    XCH A,R7
    RLC A
    XCH A,R7
    SJF2 : XCH A,R7
    XCH A,R6
    ADD A,R4
    MOV R4,A
    MOV A,R6
    ADDC A,R3
    MOV R3,A
    DJNZ R7,SJF1
    SJF3 : MOVX A,@DPTR
    ADD A,R4
    MOV R4,A
    CLR A
    ADDC A,R3
    MOV R3,A
    MOV R7,#COUNT
    LCALL NMUL21
    MOV A,N
    MOV B,#03H
    MUL AB
    MOV R7,A
    LCALL C_NDIV_3_1_HANDLE
    RET
    NMUL21 : MOV A,R4
    MOV B,R7
    MUL AB
    MOV R4,A
    MOV A,B
    XCH A,R3
    MOV B,R7
    MUL AB
    ADD A,R3
    MOV R3,A
    CLR A
    ADDC A,B
    MOV R2,A
    CLR OV
    RET
    C_NDIV_3_1_HANDLE : MOV B,#10H
    NDV311 : CLR C
    MOV A,R4
    RLC A
    MOV R4,A
    MOV A,R3
    RLC A
    MOV R3,A
    MOV A,R2
    RLC A
    MOV R2,A
    MOV F0,C
    CLR C
    SUBB A,R7
    JB F0,NDV312
    JC NDV313
    NDV312 : MOV R2,A
    INC R4
    NDV313 : DJNZ B,NDV311
    RET
    2楼 回复本楼

    引用 xilinxue 2009/2/13 13:00:31 发表于2楼的内容

  • xilinxue

    xilinxue   |   当前状态:在线

    总积分:16186  2024年可用积分:0

    注册时间: 2008-06-26

    最后登录时间: 2020-03-22

    空间 发短消息加为好友

    xilinxue   发表于 2009/2/13 13:00:48


    ;内部RAM数据排序程序(升序)
    ;入口: R0(起始地址),N(数据个数)
    ;占用资源: ACC,B,R5,R6,R7
    ;堆栈需求: 2字节
    ;出口: R0
    ISELSORT : MOV R7,N
    DEC R7
    ISST1: MOV A,R7
    MOV R6,A
    MOV A,R0
    MOV R1,A
    MOV R2,A
    MOV B,@R1
    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
    RET
    3楼 回复本楼

    引用 xilinxue 2009/2/13 13:00:48 发表于3楼的内容

  • xilinxue

    xilinxue   |   当前状态:在线

    总积分:16186  2024年可用积分:0

    注册时间: 2008-06-26

    最后登录时间: 2020-03-22

    空间 发短消息加为好友

    xilinxue   发表于 2009/2/13 13:01:04


    ;外部RAM数据排序程序(升序)
    ;入口: ADDPH,ADDPL(起始地址),N(数据个数)
    ;占用资源: ACC,B,R0,R1,R5,R7
    ;堆栈需求: 2字节
    ;出口: ADDPH-ADDPL
    C_ESELSORT_HANDLE:
     MOV  R7,N
     DEC  R7
    C_ESELSORT_HANDLE_1:
     MOV  A,R7
     MOV  R6,A
     MOV  DPL,ADDPL
     MOV  R1,DPL
     MOV  DPH,ADDPH
     MOV  R0,DPH
     MOVX  A,@DPTR
     MOV  B,A
    C_ESELSORT_HANDLE_2:
     INC  DPTR
     MOVX  A,@DPTR
     CLR  C
     SUBB  A,B
     JC  C_ESELSORT_HANDLE_3
     MOV  R0,DPL
     MOV  R1,DPH
     MOVX  A,@DPTR
     MOV  B,A
    C_ESELSORT_HANDLE_3:
     DJNZ  R6,C_ESELSORT_HANDLE_2
     MOVX  A,@DPTR
     XCH  A,B
     MOVX  @DPTR,A
     MOV  DPL,R0
     MOV  DPH,R1
     MOV  A,B
     MOVX  @DPTR,A
     DJNZ  R7,C_ESELSORT_HANDLE_1
     RET
    4楼 回复本楼

    引用 xilinxue 2009/2/13 13:01:04 发表于4楼的内容

  • xilinxue

    xilinxue   |   当前状态:在线

    总积分:16186  2024年可用积分:0

    注册时间: 2008-06-26

    最后登录时间: 2020-03-22

    空间 发短消息加为好友

    xilinxue   发表于 2009/2/13 13:01:21


    ;外部RAM浮点数排序程序(升序)
    ;入口: ADDPH,ADDPL(起始地址),N(数据个数)
    ;占用资源: ACC,B,R0,R1,R2,R3,R4,R5,R6,R7,NCNT
    ;堆栈需求: 5字节
    ;出口: ADDPH,ADDPL
    FSORT: MOV A,N
    MOV NCNT,A
    DEC NCNT
    FST1 : MOV B,NCNT
    MOV DPL,ADDPL
    MOV R1,DPL
    MOV DPH,ADDPH
    MOV R0,DPH
    MOVX A,@DPTR
    MOV R2,A
    INC DPTR
    MOVX A,@DPTR
    MOV R3,A
    INC DPTR
    MOVX A,@DPTR
    MOV R4,A
    FST2 : INC DPTR
    MOVX A,@DPTR
    MOV R5,A
    INC DPTR
    MOVX A,@DPTR
    MOV R6,A
    INC DPTR
    MOVX A,@DPTR
    MOV R7,A
    PUSH B
    LCALL FCMP
    POP B
    JNC FST4
    MOV A,DPL
    CLR C
    SUBB A,#02H
    MOV R1,A
    MOV R0,DPH
    JNC FST3
    DEC R0
    FST3 : MOV A,R5
    MOV R2,A
    MOV A,R6
    MOV R3,A
    MOV A,R7
    MOV R4,A
    FST4 : DJNZ B,FST2
    MOV A,DPL
    CLR C
    SUBB A,#02H
    MOV DPL,A
    JNC FST5
    DEC DPH
    FST5 : MOV A,R2
    MOVX @DPTR,A
    INC DPTR
    MOV A,R3
    MOVX @DPTR,A
    INC DPTR
    MOV A,R4
    MOVX @DPTR,A
    MOV A,R0
    MOV P2,A
    MOV A,R5
    MOVX @R1,A
    INC R1
    MOV A,R6
    MOVX @R1,A
    INC R1
    MOV A,R7
    MOVX @R1,A
    DJNZ NCNT,FST1
    RET
    5楼 回复本楼

    引用 xilinxue 2009/2/13 13:01:21 发表于5楼的内容

  • 疯狂太少

    疯狂太少   |   当前状态:离线

    总积分:114  2024年可用积分:0

    注册时间: 2008-09-30

    最后登录时间: 2009-02-13

    空间 发短消息加为好友

    疯狂太少   发表于 2009/2/13 16:14:58

    6楼 回复本楼

    引用 疯狂太少 2009/2/13 16:14:58 发表于6楼的内容

  • lthlycyj

    lthlycyj   |   当前状态:在线

    总积分:2346  2024年可用积分:0

    注册时间: 2007-09-03

    最后登录时间: 2019-06-23

    空间 发短消息加为好友

    lthlycyj   发表于 2009/4/6 22:28:12

    ico
    7楼 回复本楼

    引用 lthlycyj 2009/4/6 22:28:12 发表于7楼的内容

  • wygtong

    wygtong   |   当前状态:在线

    总积分:5074  2024年可用积分:0

    注册时间: 2006-05-29

    最后登录时间: 2018-05-11

    空间 发短消息加为好友

    wygtong   发表于 2009/6/15 14:33:53

    我用过51单片机,这个程序干什么用.
    8楼 回复本楼

    引用 wygtong 2009/6/15 14:33:53 发表于8楼的内容

  • jhlu3

    jhlu3   |   当前状态:离线

    总积分:0  2024年可用积分:0

    注册时间: 0001-01-01

    最后登录时间: 0001-01-01

    空间 发短消息加为好友

    jhlu3   发表于 2009/6/17 17:22:13

    9楼 回复本楼

    引用 jhlu3 2009/6/17 17:22:13 发表于9楼的内容

  • sdjntl

    sdjntl   |   当前状态:在线

    总积分:1242  2024年可用积分:0

    注册时间: 2009-06-25

    最后登录时间: 2019-07-01

    空间 发短消息加为好友

    sdjntl   发表于 2009/6/27 17:40:14

    10楼 回复本楼

    引用 sdjntl 2009/6/27 17:40:14 发表于10楼的内容

总共 , 当前 /