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

📄 display.s

📁 完成数据的采集
💻 S
📖 第 1 页 / 共 5 页
字号:
        LDR.N    R1,??initLCDM_0  ;; 0x40010c0c
        STR      R0,[R1, #+0]
        LDR.N    R0,??DataTable27  ;; 0x4001080c
        LDR      R0,[R0, #+0]
        MVNS     R1,#+4096
        ANDS     R1,R1,R0
        LDR.N    R0,??DataTable27  ;; 0x4001080c
        STR      R1,[R0, #+0]
        LDR.N    R0,??DataTable27  ;; 0x4001080c
        LDR      R0,[R0, #+0]
        MVNS     R1,#+2048
        ANDS     R1,R1,R0
        LDR.N    R0,??DataTable27  ;; 0x4001080c
        STR      R1,[R0, #+0]
        LDR.N    R0,??DataTable27  ;; 0x4001080c
        LDR      R0,[R0, #+0]
        MVNS     R1,#+256
        ANDS     R1,R1,R0
        LDR.N    R0,??DataTable27  ;; 0x4001080c
        STR      R1,[R0, #+0]
        MOVS     R0,#+255
        BL       LcdDataOut
        MOVS     R0,#+100
        BL       delay_nop
        MOVS     R0,#+48
        BL       LCMCmd
        MOVS     R0,#+6
        BL       LCMCmd
        MOVS     R0,#+1
        BL       LCMCmd
        MOVS     R0,#+128
        BL       LCMCmd
        MOVS     R0,#+1
        BL       LCMCmd
        MOVS     R0,#+100
        BL       delay_nop
        MOVS     R0,#+48
        BL       LCMCmd
        MOVS     R0,#+192
        BL       LCMCmd
        LDR.N    R0,??initLCDM_0+0x4  ;; Init_TAB
        BL       WritePicture
        MOVS     R0,#+1000
        BL       delay_nop
        ADD      SP,SP,#+4
        POP      {PC}             ;; return
        Nop      
        DATA
??initLCDM_0:
        DC32     0x40010c0c
        DC32     Init_TAB

        SECTION `.XML`:CODE:NOROOT(2)
        DATA
??DataTable27:
        DC32     0x4001080c

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
Display_mode_setion:
        PUSH     {R4-R6,LR}
        MOVS     R4,R0
        MOVS     R5,R1
        LDRB     R0,[R4, #+2]
        ADDS     R0,R0,#+1
        STRB     R0,[R4, #+2]
        LDRB     R1,[R4, #+4]
        UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
        CMP      R0,R1
        BCC.N    ??Display_mode_setion_0
        MOVS     R0,#+0
        STRB     R0,[R4, #+2]
        LDRB     R0,[R4, #+1]
        ADDS     R0,R0,#+1
        STRB     R0,[R4, #+1]
        MOVS     R0,#+1
        BL       LCMCmd
??Display_mode_setion_0:
        LDRB     R0,[R4, #+1]
        CMP      R0,#+14
        BCC.N    ??Display_mode_setion_1
        LDRH     R0,[R5, #+16]
        LDRH     R1,[R5, #+20]
        ORRS     R1,R1,R0
        LDRH     R0,[R5, #+18]
        ORRS     R0,R0,R1
        LDRH     R1,[R5, #+22]
        ORRS     R1,R1,R0
        LDRH     R0,[R5, #+14]
        ORRS     R0,R0,R1
        UXTH     R0,R0            ;; ZeroExtS R0,R0,#+16,#+16
        CMP      R0,#+0
        BEQ.N    ??Display_mode_setion_2
        MOVS     R0,#+7
        STRB     R0,[R4, #+1]
        B.N      ??Display_mode_setion_1
??Display_mode_setion_2:
        MOVS     R0,#+8
        STRB     R0,[R4, #+1]
??Display_mode_setion_1:
        LDRB     R0,[R4, #+1]
        MOVS     R6,R0
        LDRB     R0,[R4, #+1]
        CMP      R0,#+9
        BNE.N    ??Display_mode_setion_3
        LDRH     R0,[R5, #+34]
        ANDS     R0,R0,#0x70
        CMP      R0,#+112
        BNE.N    ??Display_mode_setion_3
        MOVS     R0,#+10
        STRB     R0,[R4, #+1]
??Display_mode_setion_3:
        LDRB     R0,[R4, #+1]
        CMP      R0,#+10
        BNE.N    ??Display_mode_setion_4
        LDRH     R0,[R5, #+34]
        ANDS     R0,R0,#0x380
        CMP      R0,#+896
        BNE.N    ??Display_mode_setion_4
        MOVS     R0,#+11
        STRB     R0,[R4, #+1]
??Display_mode_setion_4:
        LDRB     R0,[R4, #+1]
        CMP      R0,#+11
        BNE.N    ??Display_mode_setion_5
        LDRH     R0,[R5, #+34]
        ANDS     R0,R0,#0x1C00
        CMP      R0,#+7168
        BNE.N    ??Display_mode_setion_5
        MOVS     R0,#+12
        STRB     R0,[R4, #+1]
??Display_mode_setion_5:
        LDRB     R0,[R4, #+1]
        CMP      R0,#+12
        BNE.N    ??Display_mode_setion_6
        LDRH     R0,[R5, #+34]
        ANDS     R0,R0,#0xE000
        CMP      R0,#+57344
        BNE.N    ??Display_mode_setion_6
        MOVS     R0,#+13
        STRB     R0,[R4, #+1]
??Display_mode_setion_6:
        LDRB     R0,[R4, #+1]
        CMP      R0,#+16
        BEQ.N    ??Display_mode_setion_7
        LDRB     R0,[R4, #+1]
        CMP      R0,#+15
        BEQ.N    ??Display_mode_setion_7
        LDRB     R0,[R4, #+1]
        CMP      R0,#+14
        BNE.N    ??Display_mode_setion_8
??Display_mode_setion_7:
        LDRH     R0,[R5, #+34]
        ANDS     R0,R0,#0x70
        CMP      R0,#+112
        BNE.N    ??Display_mode_setion_8
        MOVS     R0,#+17
        STRB     R0,[R4, #+1]
??Display_mode_setion_8:
        LDRB     R0,[R4, #+1]
        CMP      R0,#+19
        BEQ.N    ??Display_mode_setion_9
        LDRB     R0,[R4, #+1]
        CMP      R0,#+18
        BEQ.N    ??Display_mode_setion_9
        LDRB     R0,[R4, #+1]
        CMP      R0,#+17
        BNE.N    ??Display_mode_setion_10
??Display_mode_setion_9:
        LDRH     R0,[R5, #+34]
        ANDS     R0,R0,#0x380
        CMP      R0,#+896
        BNE.N    ??Display_mode_setion_10
        MOVS     R0,#+20
        STRB     R0,[R4, #+1]
??Display_mode_setion_10:
        LDRB     R0,[R4, #+1]
        CMP      R0,#+22
        BEQ.N    ??Display_mode_setion_11
        LDRB     R0,[R4, #+1]
        CMP      R0,#+21
        BEQ.N    ??Display_mode_setion_11
        LDRB     R0,[R4, #+1]
        CMP      R0,#+20
        BNE.N    ??Display_mode_setion_12
??Display_mode_setion_11:
        LDRH     R0,[R5, #+34]
        ANDS     R0,R0,#0x1C00
        CMP      R0,#+7168
        BNE.N    ??Display_mode_setion_12
        MOVS     R0,#+23
        STRB     R0,[R4, #+1]
??Display_mode_setion_12:
        LDRB     R0,[R4, #+1]
        CMP      R0,#+25
        BEQ.N    ??Display_mode_setion_13
        LDRB     R0,[R4, #+1]
        CMP      R0,#+24
        BEQ.N    ??Display_mode_setion_13
        LDRB     R0,[R4, #+1]
        CMP      R0,#+23
        BNE.N    ??Display_mode_setion_14
??Display_mode_setion_13:
        LDRH     R0,[R5, #+34]
        ANDS     R0,R0,#0xE000
        CMP      R0,#+57344
        BNE.N    ??Display_mode_setion_14
        MOVS     R0,#+7
        STRB     R0,[R4, #+1]
??Display_mode_setion_14:
        LDRB     R0,[R4, #+1]
        UXTB     R6,R6            ;; ZeroExtS R6,R6,#+24,#+24
        CMP      R6,R0
        BEQ.N    ??Display_mode_setion_15
        MOVS     R0,#+0
        STRB     R0,[R4, #+2]
        MOVS     R0,#+1
        STRB     R0,[R4, #+0]
??Display_mode_setion_15:
        POP      {R4-R6,PC}       ;; return

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
ALAMC_mode_setion:
        PUSH     {R0,R4,R5,LR}
        MOVS     R4,R0
        MOVS     R5,R1
        UXTH     R4,R4            ;; ZeroExtS R4,R4,#+16,#+16
        MOVS     R0,#+3
        MULS     R0,R4,R0
        UXTH     R5,R5            ;; ZeroExtS R5,R5,#+16,#+16
        CMP      R0,R5
        BLT.N    ??ALAMC_mode_setion_0
        MOVS     R0,#+1
        BL       LCMCmd
        MOVS     R0,#+2
        BL       LCMCmd
        MOVS     R0,#+8
        B.N      ??ALAMC_mode_setion_1
??ALAMC_mode_setion_0:
        MOVS     R0,R4
        UXTH     R0,R0            ;; ZeroExtS R0,R0,#+16,#+16
??ALAMC_mode_setion_1:
        ADD      SP,SP,#+4
        POP      {R4,R5,PC}       ;; return

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
Display_mode_setion_ALAMC:
        PUSH     {R0,R4,R5,LR}
        MOVS     R4,R0
        MOVS     R5,R1
        LDRB     R0,[R4, #+2]
        ADDS     R0,R0,#+1
        STRB     R0,[R4, #+2]
        LDRB     R1,[R4, #+4]
        UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
        CMP      R0,R1
        BCC.N    ??Display_mode_setion_ALAMC_0
        MOVS     R0,#+0
        STRB     R0,[R4, #+2]
        LDRB     R0,[R4, #+1]
        ADDS     R0,R0,#+1
        STRB     R0,[R4, #+1]
        MOVS     R1,R5
        UXTH     R1,R1            ;; ZeroExtS R1,R1,#+16,#+16
        LDRB     R0,[R4, #+1]
        UXTH     R0,R0            ;; ZeroExtS R0,R0,#+16,#+16
        BL       ALAMC_mode_setion
        STRB     R0,[R4, #+1]
??Display_mode_setion_ALAMC_0:
        ADD      SP,SP,#+4
        POP      {R4,R5,PC}       ;; return

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
BCD:
        PUSH     {R0,R4,R5,LR}
        UXTH     R0,R0            ;; ZeroExtS R0,R0,#+16,#+16
        MOVS     R1,#+100
        SDIV     R1,R0,R1
        MOVS     R4,R1
        UXTH     R4,R4            ;; ZeroExtS R4,R4,#+16,#+16
        CMP      R4,#+10
        BCC.N    ??BCD_0
        MOVS     R1,#+9
        MOVS     R4,R1
??BCD_0:
        UXTH     R4,R4            ;; ZeroExtS R4,R4,#+16,#+16
        LSLS     R4,R4,#+8
        UXTH     R0,R0            ;; ZeroExtS R0,R0,#+16,#+16
        MOVS     R1,#+100
        BL       __aeabi_idivmod
        MOVS     R0,R1
        UXTH     R0,R0            ;; ZeroExtS R0,R0,#+16,#+16
        MOVS     R1,#+10
        SDIV     R1,R0,R1
        MOVS     R5,R1
        UXTH     R5,R5            ;; ZeroExtS R5,R5,#+16,#+16
        LSLS     R5,R5,#+4
        UXTH     R0,R0            ;; ZeroExtS R0,R0,#+16,#+16
        MOVS     R1,#+10
        BL       __aeabi_idivmod
        MOVS     R0,R1
        ADDS     R1,R4,R5
        ADDS     R0,R0,R1
        UXTH     R0,R0            ;; ZeroExtS R0,R0,#+16,#+16
        ADD      SP,SP,#+4
        POP      {R4,R5,PC}       ;; return

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
Disp_Table_Sub:
        PUSH     {R0,R1,R4-R8,LR}
        MOV      R8,R2
        MOVS     R5,R0
        MOVS     R6,R1
        LDRH     R0,[R5, #+0]
        STRH     R0,[SP, #+0]
        LDRH     R0,[R5, #+0]
        BL       BCD
        MOVS     R4,R0
        MOVS     R0,#+256
        UXTH     R4,R4            ;; ZeroExtS R4,R4,#+16,#+16
        CMP      R4,R0
        BCC.N    ??Disp_Table_Sub_0
        LDRH     R0,[R5, #+0]
        CMP      R0,#+254
        BCS.N    ??Disp_Table_Sub_1
        UXTH     R4,R4            ;; ZeroExtS R4,R4,#+16,#+16
        LSRS     R7,R4,#+4
        MOVS     R2,#+1
        MOVS     R1,R7
        UXTH     R1,R1            ;; ZeroExtS R1,R1,#+16,#+16
        MOVS     R0,R6
        UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
        BL       WriteOneChar
        LSLS     R0,R4,#+28       ;; ZeroExtS R0,R4,#+28,#+28
        LSRS     R0,R0,#+28
        MOVS     R7,R0
        UXTH     R7,R7            ;; ZeroExtS R7,R7,#+16,#+16
        LDR.N    R0,??Disp_Table_Sub_2  ;; ASCII_TAB
        LDRB     R7,[R0, R7]
        MOVS     R3,#+0
        MOVS     R2,#+32
        MOVS     R1,R7
        UXTB     R1,R1            ;; ZeroExtS R1,R1,#+24,#+24
        MOVS     R0,R6
        ADDS     R0,R0,#+1
        UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
        BL       WriteASCIIChar
        B.N      ??Disp_Table_Sub_3
??Disp_Table_Sub_1:
        MOVS     R3,#+0
        MOVS     R2,#+45
        MOVS     R1,#+45
        MOVS     R0,R6
        UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
        BL       WriteASCIIChar
        MOVS     R3,#+0
        MOVS     R2,#+45
        MOVS     R1,#+45
        MOVS     R0,R6
        ADDS     R0,R0,#+1
        UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
        BL       WriteASCIIChar
        B.N      ??Disp_Table_Sub_3
??Disp_Table_Sub_0:
        MOVS     R2,#+1
        MOVS     R1,R4
        UXTH     R1,R1            ;; ZeroExtS R1,R1,#+16,#+16
        MOVS     R0,R6
        UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
        BL       WriteOneChar
        MOVS     R3,#+0
        MOVS     R2,#+32
        MOVS     R1,#+32
        MOVS     R0,R6
        ADDS     R0,R0,#+1
        UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
        BL       WriteASCIIChar
??Disp_Table_Sub_3:
        ADDS     R5,R5,#+2
        LDRH     R0,[R5, #+0]
        BL       BCD
        MOVS     R4,R0
        ADDS     R6,R6,#+3

⌨️ 快捷键说明

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