📄 display.s
字号:
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 + -