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

📄 display.s

📁 完成数据的采集
💻 S
📖 第 1 页 / 共 5 页
字号:
        MOVS     R0,#+256
        UXTH     R4,R4            ;; ZeroExtS R4,R4,#+16,#+16
        CMP      R4,R0
        BCS.N    ??Disp_Table_Sub_4
        UXTH     R4,R4            ;; ZeroExtS R4,R4,#+16,#+16
        CMP      R4,#+0
        BEQ.N    ??Disp_Table_Sub_4
        LDRH     R0,[SP, #+0]
        CMP      R0,#+254
        BCC.N    ??Disp_Table_Sub_5
??Disp_Table_Sub_4:
        LDRH     R0,[SP, #+0]
        CMP      R0,#+254
        BCS.N    ??Disp_Table_Sub_6
        UXTH     R4,R4            ;; ZeroExtS R4,R4,#+16,#+16
        CMP      R4,#+0
        BEQ.N    ??Disp_Table_Sub_6
        UXTH     R4,R4            ;; ZeroExtS R4,R4,#+16,#+16
        LSRS     R7,R4,#+4
        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,#+46
        MOVS     R1,R7
        UXTB     R1,R1            ;; ZeroExtS R1,R1,#+24,#+24
        MOVS     R0,R6
        UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
        BL       WriteASCIIChar
        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,#+86
        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_7
??Disp_Table_Sub_6:
        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_7
??Disp_Table_Sub_5:
        LDRH     R0,[R5, #+0]
        CMP      R0,#+21
        BCC.N    ??Disp_Table_Sub_8
        MOVS     R0,#+40
        MOVS     R7,R0
        B.N      ??Disp_Table_Sub_9
??Disp_Table_Sub_8:
        MOVS     R0,#+16
        MOVS     R7,R0
??Disp_Table_Sub_9:
        UXTH     R7,R7            ;; ZeroExtS R7,R7,#+16,#+16
        UXTH     R4,R4            ;; ZeroExtS R4,R4,#+16,#+16
        CMP      R7,R4
        BCC.N    ??Disp_Table_Sub_10
        MOV      R0,R8
        UXTH     R0,R0            ;; ZeroExtS R0,R0,#+16,#+16
        CMP      R0,#+0
        BEQ.N    ??Disp_Table_Sub_11
??Disp_Table_Sub_10:
        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,#+86
        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
        UXTH     R4,R4            ;; ZeroExtS R4,R4,#+16,#+16
        LSRS     R7,R4,#+4
        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,#+46
        MOVS     R1,R7
        UXTB     R1,R1            ;; ZeroExtS R1,R1,#+24,#+24
        MOVS     R0,R6
        UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
        BL       WriteASCIIChar
        B.N      ??Disp_Table_Sub_7
??Disp_Table_Sub_11:
        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
        MOVS     R3,#+0
        MOVS     R2,#+32
        MOVS     R1,#+32
        MOVS     R0,R6
        UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
        BL       WriteASCIIChar
??Disp_Table_Sub_7:
        ADD      SP,SP,#+8
        POP      {R4-R8,PC}       ;; return
        Nop      
        DATA
??Disp_Table_Sub_2:
        DC32     ASCII_TAB

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
Disp_Table:
        PUSH     {R1,R4-R7,LR}
        MOVS     R4,R0
        MOVS     R5,R2
        LDRH     R0,[SP, #+0]
        MOVS     R1,#+4
        ANDS     R1,R1,R0
        SUBS     R0,R1,#+1
        SBCS     R0,R0,R0
        MVNS     R0,R0
        LSRS     R0,R0,#+31
        STRH     R0,[SP, #+0]
        MOVS     R0,#+147
        MOVS     R7,R0
        MOVS     R6,R5
        UXTH     R5,R5            ;; ZeroExtS R5,R5,#+16,#+16
        LSLS     R0,R5,#+29       ;; ZeroExtS R0,R5,#+29,#+29
        LSRS     R0,R0,#+29
        UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
        SUBS     R0,R0,#+1
        BEQ.N    ??Disp_Table_0
        SUBS     R0,R0,#+1
        BEQ.N    ??Disp_Table_1
        SUBS     R0,R0,#+1
        BEQ.N    ??Disp_Table_2
        SUBS     R0,R0,#+1
        BEQ.N    ??Disp_Table_3
        SUBS     R0,R0,#+1
        BEQ.N    ??Disp_Table_4
        SUBS     R0,R0,#+1
        BEQ.N    ??Disp_Table_5
        SUBS     R0,R0,#+1
        BEQ.N    ??Disp_Table_6
        B.N      ??Disp_Table_7
??Disp_Table_0:
        LDRH     R2,[SP, #+0]
        MOVS     R1,#+147
        MOVS     R0,R4
        BL       Disp_Table_Sub
        B.N      ??Disp_Table_7
??Disp_Table_1:
        ADDS     R4,R4,#+8
        LDRH     R2,[SP, #+0]
        MOVS     R1,#+147
        MOVS     R0,R4
        BL       Disp_Table_Sub
        B.N      ??Disp_Table_7
??Disp_Table_2:
        LDRH     R2,[SP, #+0]
        MOVS     R1,#+147
        MOVS     R0,R4
        BL       Disp_Table_Sub
        ADDS     R4,R4,#+8
        LDRH     R2,[SP, #+0]
        MOVS     R1,#+139
        MOVS     R0,R4
        BL       Disp_Table_Sub
        B.N      ??Disp_Table_7
??Disp_Table_3:
        ADDS     R4,R4,#+16
        LDRH     R2,[SP, #+0]
        MOVS     R1,#+147
        MOVS     R0,R4
        BL       Disp_Table_Sub
        B.N      ??Disp_Table_7
??Disp_Table_4:
        LDRH     R2,[SP, #+0]
        MOVS     R1,#+147
        MOVS     R0,R4
        BL       Disp_Table_Sub
        ADDS     R4,R4,#+16
        LDRH     R2,[SP, #+0]
        MOVS     R1,#+139
        MOVS     R0,R4
        BL       Disp_Table_Sub
        B.N      ??Disp_Table_7
??Disp_Table_5:
        ADDS     R4,R4,#+8
        LDRH     R2,[SP, #+0]
        MOVS     R1,#+147
        MOVS     R0,R4
        BL       Disp_Table_Sub
        ADDS     R4,R4,#+8
        LDRH     R2,[SP, #+0]
        MOVS     R1,#+139
        MOVS     R0,R4
        BL       Disp_Table_Sub
        B.N      ??Disp_Table_7
??Disp_Table_6:
        LDRH     R2,[SP, #+0]
        MOVS     R1,#+147
        MOVS     R0,R4
        BL       Disp_Table_Sub
        ADDS     R4,R4,#+8
        LDRH     R2,[SP, #+0]
        MOVS     R1,#+139
        MOVS     R0,R4
        BL       Disp_Table_Sub
        ADDS     R4,R4,#+8
        LDRH     R2,[SP, #+0]
        MOVS     R1,#+155
        MOVS     R0,R4
        BL       Disp_Table_Sub
??Disp_Table_7:
        ADD      SP,SP,#+4
        POP      {R4-R7,PC}       ;; return

        SECTION `.XML`:CODE:NOROOT(2)
        THUMB
display_Fault:
        PUSH     {R0,R4-R11,LR}
        MOV      R8,R0
        MOV      R9,R1
        MOV      R10,R2
        MOV      R11,R3
        MOVS     R0,#+0
        MOVS     R6,R0
        MOVS     R5,R0
        ORRS     R0,R9,R8
        ORRS     R0,R10,R0
        ORRS     R0,R11,R0
        UXTH     R0,R0            ;; ZeroExtS R0,R0,#+16,#+16
        CMP      R0,#+0
        BNE.N    ??display_Fault_0
        LDRH     R0,[SP, #+40]
        CMP      R0,#+0
        BEQ.N    ??display_Fault_1
??display_Fault_0:
        LDR.N    R2,??display_Fault_2  ;; TAB_FAU
        MOVS     R1,#+6
        MOVS     R0,#+129
        BL       WriteChar
        B.N      ??display_Fault_3
??display_Fault_1:
        LDR.N    R2,??display_Fault_2+0x4  ;; NOFAULT_TAB
        MOVS     R1,#+5
        MOVS     R0,#+146
        BL       WriteChar
??display_Fault_3:
        MOVS     R0,#+0
        MOVS     R4,R0
??display_Fault_4:
        UXTH     R4,R4            ;; ZeroExtS R4,R4,#+16,#+16
        CMP      R4,#+15
        BCS.W    ??display_Fault_5
        MOVS     R0,#+1
        LSLS     R0,R0,R4
        STRH     R0,[SP, #+0]
        LDRH     R0,[SP, #+40]
        LSLS     R0,R0,#+31
        BPL.N    ??display_Fault_6
        LDRH     R0,[SP, #+0]
        TST      R0,R5
        BNE.N    ??display_Fault_6
        MOVS     R0,R5
        LDRH     R5,[SP, #+0]
        ORRS     R5,R5,R0
        ADDS     R6,R6,#+1
        MOVS     R0,R6
        MOVS     R6,R0
        UXTH     R0,R0            ;; ZeroExtS R0,R0,#+16,#+16
        CMP      R0,#+4
        BCC.N    ??display_Fault_7
        MOVS     R0,#+0
        B.N      ??display_Fault_8
??display_Fault_7:
        UXTH     R6,R6            ;; ZeroExtS R6,R6,#+16,#+16
        CMP      R6,#+1
        BNE.N    ??display_Fault_9
        MOVS     R0,#+144
        MOVS     R7,R0
??display_Fault_9:
        UXTH     R6,R6            ;; ZeroExtS R6,R6,#+16,#+16
        CMP      R6,#+2
        BNE.N    ??display_Fault_10
        MOVS     R0,#+136
        MOVS     R7,R0
??display_Fault_10:
        UXTH     R6,R6            ;; ZeroExtS R6,R6,#+16,#+16
        CMP      R6,#+3
        BNE.N    ??display_Fault_11
        MOVS     R0,#+152
        MOVS     R7,R0
??display_Fault_11:
        MOVS     R2,#+0
        UXTH     R4,R4            ;; ZeroExtS R4,R4,#+16,#+16
        MOVS     R0,#+2
        MULS     R0,R4,R0
        LDR.N    R1,??display_Fault_2+0x8  ;; TAB_FAU_D
        LDRH     R1,[R1, R0]
        MOVS     R0,R7
        UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
        BL       WriteOneChar
        ADDS     R7,R7,#+1
        MOVS     R0,R7
        MOVS     R7,R0
        LDR.N    R2,??display_Fault_2+0xC  ;; TAB_FAU_C
        MOVS     R1,#+6
        UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
        BL       WriteChar
??display_Fault_6:
        LDRH     R0,[SP, #+40]
        UXTH     R0,R0            ;; ZeroExtS R0,R0,#+16,#+16
        LSRS     R0,R0,#+1
        STRH     R0,[SP, #+40]
        MOV      R0,R8
        LSLS     R0,R0,#+31
        BPL.N    ??display_Fault_12
        LDRH     R0,[SP, #+0]
        TST      R0,R5
        BNE.N    ??display_Fault_12
        MOVS     R0,R5
        LDRH     R5,[SP, #+0]
        ORRS     R5,R5,R0
        ADDS     R6,R6,#+1
        MOVS     R0,R6
        MOVS     R6,R0
        UXTH     R0,R0            ;; ZeroExtS R0,R0,#+16,#+16
        CMP      R0,#+4
        BCC.N    ??display_Fault_13
        MOVS     R0,#+0
        B.N      ??display_Fault_8
??display_Fault_13:
        UXTH     R6,R6            ;; ZeroExtS R6,R6,#+16,#+16
        CMP      R6,#+1
        BNE.N    ??display_Fault_14
        MOVS     R0,#+144
        MOVS     R7,R0
??display_Fault_14:
        UXTH     R6,R6            ;; ZeroExtS R6,R6,#+16,#+16
        CMP      R6,#+2
        BNE.N    ??display_Fault_15
        MOVS     R0,#+136
        MOVS     R7,R0
??display_Fault_15:
        UXTH     R6,R6            ;; ZeroExtS R6,R6,#+16,#+16
        CMP      R6,#+3
        BNE.N    ??display_Fault_16
        MOVS     R0,#+152
        MOVS     R7,R0
??display_Fault_16:
        MOVS     R2,#+0
        UXTH     R4,R4            ;; ZeroExtS R4,R4,#+16,#+16
        MOVS     R0,#+2
        MULS     R0,R4,R0
        LDR.N    R1,??display_Fault_2+0x8  ;; TAB_FAU_D
        LDRH     R1,[R1, R0]
        MOVS     R0,R7
        UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
        BL       WriteOneChar
        ADDS     R7,R7,#+1
        MOVS     R0,R7
        MOVS     R7,R0
        LDR.N    R2,??display_Fault_2+0x10  ;; TAB_OVER_C
        MOVS     R1,#+6
        UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
        BL       WriteChar

⌨️ 快捷键说明

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