⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ytep_rf.s

📁 完成数据的采集
💻 S
📖 第 1 页 / 共 2 页
字号:
        LDR.N    R3,??IsrSend_1+0xC  ;; 0x4001100c
        STR      R0,[R3, #+0]
        LDRB     R0,[R1, #+24]
        LSLS     R0,R0,#+28
        BPL.N    ??IsrSend_9
        MOVS     R0,#+16
        MOVS     R2,R0
        B.N      ??IsrSend_10
??IsrSend_9:
        MOVS     R0,#+4
        MOVS     R2,R0
??IsrSend_10:
        LDR.N    R0,??IsrSend_1+0x10  ;; ??IS + 4
        LDRB     R0,[R0, #+0]
        CMP      R0,#+8
        BCC.N    ??IsrSend_11
        MOVS     R0,#+1
        MOVS     R2,R0
??IsrSend_11:
        LDR.N    R0,??IsrSend_1   ;; ??IS + 3
        LDRB     R0,[R0, #+0]
        ADDS     R0,R0,#+1
        LDR.N    R3,??IsrSend_1   ;; ??IS + 3
        STRB     R0,[R3, #+0]
        UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
        UXTH     R0,R0            ;; ZeroExtS R0,R0,#+16,#+16
        UXTH     R2,R2            ;; ZeroExtS R2,R2,#+16,#+16
        CMP      R0,R2
        BCC.N    ??IsrSend_7
        LDR.N    R0,??IsrSend_1   ;; ??IS + 3
        MOVS     R3,#+0
        STRB     R3,[R0, #+0]
        LDR.N    R0,??IsrSend_1+0x10  ;; ??IS + 4
        LDRB     R0,[R0, #+0]
        ADDS     R0,R0,#+1
        LDR.N    R3,??IsrSend_1+0x10  ;; ??IS + 4
        STRB     R0,[R3, #+0]
        LDRB     R0,[R1, #+24]
        UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
        LSLS     R0,R0,#+1
        STRB     R0,[R1, #+24]
        B.N      ??IsrSend_7
??IsrSend_8:
        LDR.N    R0,??IsrSend_1+0xC  ;; 0x4001100c
        LDR      R0,[R0, #+0]
        MVNS     R3,#+2048
        ANDS     R3,R3,R0
        LDR.N    R0,??IsrSend_1+0xC  ;; 0x4001100c
        STR      R3,[R0, #+0]
        LDR.N    R0,??IsrSend_1   ;; ??IS + 3
        LDRB     R0,[R0, #+0]
        ADDS     R0,R0,#+1
        LDR.N    R3,??IsrSend_1   ;; ??IS + 3
        STRB     R0,[R3, #+0]
        UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
        CMP      R0,#+4
        BCC.N    ??IsrSend_12
        LDR.N    R0,??IsrSend_1+0x10  ;; ??IS + 4
        LDRB     R0,[R0, #+0]
        ADDS     R0,R0,#+1
        LDR.N    R3,??IsrSend_1+0x10  ;; ??IS + 4
        STRB     R0,[R3, #+0]
        LDR.N    R0,??IsrSend_1   ;; ??IS + 3
        MOVS     R3,#+0
        STRB     R3,[R0, #+0]
??IsrSend_12:
        LDR.N    R0,??IsrSend_1+0x10  ;; ??IS + 4
        LDRB     R0,[R0, #+0]
        CMP      R0,#+9
        BCC.N    ??IsrSend_7
        LDR.N    R0,??IsrSend_1+0xC  ;; 0x4001100c
        LDR      R0,[R0, #+0]
        ORRS     R0,R0,#0x800
        LDR.N    R3,??IsrSend_1+0xC  ;; 0x4001100c
        STR      R0,[R3, #+0]
        MOVS     R0,#+0
        STRB     R0,[R1, #+22]
        STRB     R0,[R1, #+23]
??IsrSend_7:
        MOVS     R0,#+0
??IsrSend_2:
        BX       LR               ;; return
        DATA
??IsrSend_1:
        DC32     ??IS + 3
        DC32     ??IS + 5
        DC32     0x40010c0c
        DC32     0x4001100c
        DC32     ??IS + 4

        SECTION `.bss`:DATA:NOROOT(2)
??IS:
        DS8 8

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
CHK_RF:
        PUSH     {R0,R1,R4-R6,LR}
        MOVS     R4,R0
        MOVS     R6,R1
        LDR.N    R0,??CHK_RF_0    ;; ??Timcount
        LDRB     R0,[R0, #+0]
        ADDS     R0,R0,#+1
        LDR.N    R1,??CHK_RF_0    ;; ??Timcount
        STRB     R0,[R1, #+0]
        UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
        CMP      R0,#+4
        BCS.N    ??CHK_RF_1
        MOVS     R0,#+0
        B.N      ??CHK_RF_2
??CHK_RF_1:
        LDR.N    R0,??CHK_RF_0    ;; ??Timcount
        MOVS     R1,#+0
        STRB     R1,[R0, #+0]
        LDRB     R0,[R4, #+25]
        CMP      R0,#+5
        BCC.N    ??CHK_RF_3
        MOVS     R0,#+0
        STRB     R0,[R4, #+25]
??CHK_RF_3:
        LDRB     R0,[R4, #+22]
        CMP      R0,#+0
        BEQ.N    ??CHK_RF_4
        MOVS     R1,#+6
        MOVS     R0,R4
        BL       cal_crc
        MOVS     R5,R0
        UXTB     R5,R5            ;; ZeroExtS R5,R5,#+24,#+24
        LDRB     R0,[R4, #+25]
        LSLS     R0,R0,#+30       ;; ZeroExtS R0,R0,#+30,#+30
        LSRS     R0,R0,#+30
        STRB     R0,[SP, #+0]
        LDRB     R0,[R4, #+0]
        UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
        LSRS     R0,R0,#+6
        STRB     R0,[SP, #+1]
        LDRB     R0,[SP, #+0]
        LDRB     R1,[SP, #+1]
        CMP      R0,R1
        BNE.N    ??CHK_RF_5
        LDRB     R0,[R4, #+6]
        UXTH     R5,R5            ;; ZeroExtS R5,R5,#+16,#+16
        UXTH     R0,R0            ;; ZeroExtS R0,R0,#+16,#+16
        CMP      R5,R0
        BNE.N    ??CHK_RF_5
        LDRB     R0,[R4, #+25]
        LDR.N    R1,??CHK_RF_0+0x4  ;; ??RF_error
        MOVS     R2,#+0
        STRB     R2,[R1, R0]
        LDRB     R0,[R4, #+25]
        MOVS     R1,#+26
        MLA      R6,R0,R1,R6
        LDRB     R0,[R4, #+2]
        STRH     R0,[R6, #+0]
        LDRB     R0,[R4, #+0]
        LSLS     R0,R0,#+28       ;; ZeroExtS R0,R0,#+28,#+28
        LSRS     R0,R0,#+28
        STRH     R0,[R6, #+2]
        LDRB     R0,[R4, #+0]
        LSLS     R0,R0,#+26
        BPL.N    ??CHK_RF_6
        LDRH     R0,[R6, #+2]
        ADDS     R0,R0,#+21
        STRH     R0,[R6, #+2]
??CHK_RF_6:
        LDRB     R0,[R4, #+3]
        STRH     R0,[R6, #+8]
        LDRB     R0,[R4, #+1]
        UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
        LSRS     R0,R0,#+4
        UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
        STRH     R0,[R6, #+10]
        LDRB     R0,[R4, #+0]
        LSLS     R0,R0,#+26
        BPL.N    ??CHK_RF_7
        LDRH     R0,[R6, #+10]
        ADDS     R0,R0,#+21
        STRH     R0,[R6, #+10]
??CHK_RF_7:
        LDRB     R0,[R4, #+4]
        STRH     R0,[R6, #+16]
        LDRB     R0,[R4, #+1]
        LSLS     R0,R0,#+28       ;; ZeroExtS R0,R0,#+28,#+28
        LSRS     R0,R0,#+28
        STRH     R0,[R6, #+18]
        LDRB     R0,[R4, #+0]
        LSLS     R0,R0,#+26
        BPL.N    ??CHK_RF_5
        LDRH     R0,[R6, #+18]
        ADDS     R0,R0,#+21
        STRH     R0,[R6, #+18]
??CHK_RF_5:
        MOVS     R0,#+0
        STRB     R0,[R4, #+22]
??CHK_RF_4:
        LDRB     R0,[R4, #+25]
        LDR.N    R1,??CHK_RF_0+0x4  ;; ??RF_error
        LDRB     R0,[R1, R0]
        ADDS     R0,R0,#+1
        LDRB     R1,[R4, #+25]
        LDR.N    R2,??CHK_RF_0+0x4  ;; ??RF_error
        STRB     R0,[R2, R1]
        UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
        CMP      R0,#+5
        BCC.N    ??CHK_RF_8
        LDRB     R0,[R4, #+25]
        MOVS     R1,#+26
        MLA      R6,R0,R1,R6
        MOVS     R0,#+255
        STRH     R0,[R6, #+0]
        MOVS     R0,#+255
        STRH     R0,[R6, #+2]
        MOVS     R0,#+255
        STRH     R0,[R6, #+8]
        MOVS     R0,#+255
        STRH     R0,[R6, #+10]
        MOVS     R0,#+255
        STRH     R0,[R6, #+16]
        MOVS     R0,#+255
        STRH     R0,[R6, #+18]
??CHK_RF_8:
        LDRB     R0,[R4, #+25]
        ADDS     R0,R0,#+1
        STRB     R0,[R4, #+25]
        UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
        CMP      R0,#+5
        BCC.N    ??CHK_RF_9
        MOVS     R0,#+0
        STRB     R0,[R4, #+25]
??CHK_RF_9:
        LDRB     R0,[R4, #+25]
        UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
        LSLS     R0,R0,#+2
        STRB     R0,[SP, #+0]
        LDRB     R0,[R4, #+25]
        EORS     R0,R0,#0x3
        STRB     R0,[SP, #+1]
        LDRB     R0,[SP, #+0]
        LDRB     R1,[SP, #+1]
        ORRS     R1,R1,R0
        STRB     R1,[R4, #+24]
        MOVS     R0,#+1
        STRB     R0,[R4, #+23]
        MOVS     R0,#+0
        STRB     R0,[R4, #+22]
        LDR.N    R0,??DataTable3  ;; 0x40010c0c
        LDR      R0,[R0, #+0]
        ORRS     R0,R0,#0x100
        LDR.N    R1,??DataTable3  ;; 0x40010c0c
        STR      R0,[R1, #+0]
        MOVS     R0,#+0
??CHK_RF_2:
        ADD      SP,SP,#+8
        POP      {R4-R6,PC}       ;; return
        Nop      
        DATA
??CHK_RF_0:
        DC32     ??Timcount
        DC32     ??RF_error

        SECTION `.XML`:CODE:NOROOT(2)
        DATA
??DataTable3:
        DC32     0x40010c0c

        SECTION `.bss`:DATA:NOROOT(0)
??Timcount:
        DS8 1

        SECTION `.bss`:DATA:NOROOT(2)
??RF_error:
        DS8 8

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
cal_crc:
        PUSH     {R0,R4}
        MOVS     R2,R0
        LDR.N    R4,??cal_crc_0   ;; 0xffff
        MOVS     R0,R4
??cal_crc_1:
        UXTB     R1,R1            ;; ZeroExtS R1,R1,#+24,#+24
        CMP      R1,#+0
        BEQ.N    ??cal_crc_2
        MOVS     R4,R0
        LDRB     R0,[R2, #+0]
        EORS     R0,R0,R4
        MOVS     R4,#+0
        MOVS     R3,R4
??cal_crc_3:
        UXTB     R3,R3            ;; ZeroExtS R3,R3,#+24,#+24
        CMP      R3,#+8
        BCS.N    ??cal_crc_4
        LSLS     R4,R0,#+31
        BMI.N    ??cal_crc_5
        UXTH     R0,R0            ;; ZeroExtS R0,R0,#+16,#+16
        LSRS     R0,R0,#+1
        B.N      ??cal_crc_6
??cal_crc_5:
        UXTH     R0,R0            ;; ZeroExtS R0,R0,#+16,#+16
        LSRS     R0,R0,#+1
        MOVS     R4,R0
        LDR.N    R0,??cal_crc_0+0x4  ;; 0xa001
        EORS     R0,R0,R4
??cal_crc_6:
        ADDS     R3,R3,#+1
        B.N      ??cal_crc_3
??cal_crc_4:
        SUBS     R1,R1,#+1
        ADDS     R2,R2,#+1
        B.N      ??cal_crc_1
??cal_crc_2:
        UXTH     R0,R0            ;; ZeroExtS R0,R0,#+16,#+16
        ADD      SP,SP,#+4
        POP      {R4}
        BX       LR               ;; return
        DATA
??cal_crc_0:
        DC32     0xffff
        DC32     0xa001

        END
// 
// 1 140 bytes in section .XML
//    25 bytes in section .bss
// 
// 1 140 bytes of CODE memory
//    25 bytes of DATA memory
//
//Errors: none
//Warnings: 2

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -