📄 yt_temep.s
字号:
BICS R0,R0,R1
LDR R1,[R4, #+8]
STR R0,[R1, #+12]
ADDS R7,R7,#+1
B.N ??Read_SHT_2
??Read_SHT_3:
MOVS R3,#+16
MOVS R2,#+1
MOVS R1,#+1
LDRB R0,[R4, #+4]
LSLS R1,R1,R0
UXTH R1,R1 ;; ZeroExtS R1,R1,#+16,#+16
LDR R0,[R4, #+0]
BL GPIO_InOut
LDR R0,[R4, #+0]
LDR R0,[R0, #+12]
MOVS R1,#+1
LDRB R2,[R4, #+4]
LSLS R1,R1,R2
BICS R0,R0,R1
LDR R1,[R4, #+0]
STR R0,[R1, #+12]
MOVS R0,#+20
BL delay
LDR R0,[R4, #+8]
LDR R0,[R0, #+12]
MOVS R1,#+1
LDRB R2,[R4, #+12]
LSLS R1,R1,R2
ORRS R1,R1,R0
LDR R0,[R4, #+8]
STR R1,[R0, #+12]
MOVS R0,#+20
BL delay
LDR R0,[R4, #+8]
LDR R0,[R0, #+12]
MOVS R1,#+1
LDRB R2,[R4, #+12]
LSLS R1,R1,R2
BICS R0,R0,R1
LDR R1,[R4, #+8]
STR R0,[R1, #+12]
MOVS R0,#+20
BL delay
ADDS R5,R5,#+1
B.N ??Read_SHT_0
??Read_SHT_1:
MOVS R3,#+16
MOVS R2,#+1
MOVS R1,#+1
LDRB R0,[R4, #+4]
LSLS R1,R1,R0
UXTH R1,R1 ;; ZeroExtS R1,R1,#+16,#+16
LDR R0,[R4, #+0]
BL GPIO_InOut
MOVS R0,#+20
BL delay
LDR R0,[R4, #+0]
LDR R0,[R0, #+12]
MOVS R1,#+1
LDRB R2,[R4, #+4]
LSLS R1,R1,R2
ORRS R1,R1,R0
LDR R0,[R4, #+0]
STR R1,[R0, #+12]
MOVS R0,#+20
BL delay
LDR R0,[R4, #+8]
LDR R0,[R0, #+12]
MOVS R1,#+1
LDRB R2,[R4, #+12]
LSLS R1,R1,R2
ORRS R1,R1,R0
LDR R0,[R4, #+8]
STR R1,[R0, #+12]
MOVS R0,#+20
BL delay
LDR R0,[R4, #+8]
LDR R0,[R0, #+12]
MOVS R1,#+1
LDRB R2,[R4, #+12]
LSLS R1,R1,R2
BICS R0,R0,R1
LDR R1,[R4, #+8]
STR R0,[R1, #+12]
MOVS R0,#+128
MOVS R7,R0
MOV R0,R8
UXTB R0,R0 ;; ZeroExtS R0,R0,#+24,#+24
CMP R0,#+0
BNE.N ??Read_SHT_5
MOVS R1,R7
UXTB R1,R1 ;; ZeroExtS R1,R1,#+24,#+24
MOVS R0,#+3
BL crc8
MOVS R7,R0
B.N ??Read_SHT_6
??Read_SHT_5:
MOVS R1,R7
UXTB R1,R1 ;; ZeroExtS R1,R1,#+24,#+24
MOVS R0,#+5
BL crc8
MOVS R7,R0
??Read_SHT_6:
LSRS R0,R6,#+16
STRB R0,[SP, #+0]
MOVS R1,R7
UXTB R1,R1 ;; ZeroExtS R1,R1,#+24,#+24
LDRB R0,[SP, #+0]
BL crc8
MOVS R7,R0
LSRS R0,R6,#+8
STRB R0,[SP, #+0]
MOVS R1,R7
UXTB R1,R1 ;; ZeroExtS R1,R1,#+24,#+24
LDRB R0,[SP, #+0]
BL crc8
MOVS R7,R0
MOVS R0,R7
UXTB R0,R0 ;; ZeroExtS R0,R0,#+24,#+24
BL swapcrc
MOVS R7,R0
MOVS R0,R6
STRB R0,[SP, #+0]
LDRB R0,[SP, #+0]
UXTB R7,R7 ;; ZeroExtS R7,R7,#+24,#+24
CMP R7,R0
BNE.N ??Read_SHT_7
LSRS R6,R6,#+8
MOV R0,R8
UXTB R0,R0 ;; ZeroExtS R0,R0,#+24,#+24
CMP R0,#+0
BNE.N ??Read_SHT_8
MOVS R1,#+0
MOVS R0,R6
UXTH R0,R0 ;; ZeroExtS R0,R0,#+16,#+16
BL account_Temp
STRB R0,[R4, #+13]
B.N ??Read_SHT_9
??Read_SHT_8:
MOVS R1,#+0
MOVS R0,R6
UXTH R0,R0 ;; ZeroExtS R0,R0,#+16,#+16
BL account_RH
STRB R0,[R4, #+14]
??Read_SHT_9:
MOVS R0,#+0
B.N ??Read_SHT_10
??Read_SHT_7:
MOVS R0,#+255
??Read_SHT_10:
ADD SP,SP,#+8
POP {R4-R8,PC} ;; return
SECTION `.XML`:CODE:NOROOT(2)
THUMB
crc8:
SUB SP,SP,#+8
MOVS R2,R0
MOVS R0,R1
EORS R0,R0,R2
MOVS R3,#+0
MOVS R1,R3
??crc8_0:
UXTB R1,R1 ;; ZeroExtS R1,R1,#+24,#+24
CMP R1,#+8
BCS.N ??crc8_1
STRB R0,[SP, #+0]
UXTB R0,R0 ;; ZeroExtS R0,R0,#+24,#+24
LSLS R0,R0,#+1
LDRB R3,[SP, #+0]
LSLS R3,R3,#+24
BPL.N ??crc8_2
EORS R0,R0,#0x31
??crc8_2:
ADDS R1,R1,#+1
B.N ??crc8_0
??crc8_1:
UXTB R0,R0 ;; ZeroExtS R0,R0,#+24,#+24
ADD SP,SP,#+8
BX LR ;; return
SECTION `.XML`:CODE:NOROOT(2)
THUMB
swapcrc:
PUSH {R0,LR}
MOVS R1,R0
MOVS R3,#+0
MOVS R0,R3
MOVS R3,#+128
MOVS R2,R3
??swapcrc_0:
UXTB R2,R2 ;; ZeroExtS R2,R2,#+24,#+24
CMP R2,#+1
BCC.N ??swapcrc_1
TST R1,R2
BEQ.N ??swapcrc_2
ORRS R0,R0,#0x80
??swapcrc_2:
UXTB R2,R2 ;; ZeroExtS R2,R2,#+24,#+24
CMP R2,#+1
BEQ.N ??swapcrc_1
UXTB R0,R0 ;; ZeroExtS R0,R0,#+24,#+24
LSRS R0,R0,#+1
LSLS R0,R0,#+25 ;; ZeroExtS R0,R0,#+25,#+25
LSRS R0,R0,#+25
UXTB R2,R2 ;; ZeroExtS R2,R2,#+24,#+24
MOVS R3,#+2
SDIV R2,R2,R3
B.N ??swapcrc_0
??swapcrc_1:
UXTB R0,R0 ;; ZeroExtS R0,R0,#+24,#+24
ADD SP,SP,#+4
POP {PC} ;; return
SECTION `.XML`:CODE:NOROOT(2)
THUMB
account_Temp:
UXTB R1,R1 ;; ZeroExtS R1,R1,#+24,#+24
CMP R1,#+1
BNE.N ??account_Temp_0
LSLS R0,R0,#+18 ;; ZeroExtS R0,R0,#+18,#+18
LSRS R0,R0,#+18
B.N ??account_Temp_1
??account_Temp_0:
LSLS R0,R0,#+20 ;; ZeroExtS R0,R0,#+20,#+20
LSRS R0,R0,#+20
??account_Temp_1:
UXTB R1,R1 ;; ZeroExtS R1,R1,#+24,#+24
CMP R1,#+0
BNE.N ??account_Temp_2
UXTH R0,R0 ;; ZeroExtS R0,R0,#+16,#+16
LSLS R0,R0,#+2
??account_Temp_2:
UXTH R0,R0 ;; ZeroExtS R0,R0,#+16,#+16
MOVS R2,#+100
SDIV R0,R0,R2
UXTB R0,R0 ;; ZeroExtS R0,R0,#+24,#+24
UXTB R0,R0 ;; ZeroExtS R0,R0,#+24,#+24
BX LR ;; return
SECTION `.XML`:CODE:NOROOT(2)
THUMB
account_RH:
MOVS R2,R0
UXTB R1,R1 ;; ZeroExtS R1,R1,#+24,#+24
CMP R1,#+1
BNE.N ??account_RH_0
UXTH R2,R2 ;; ZeroExtS R2,R2,#+16,#+16
LSRS R2,R2,#+4
??account_RH_0:
UXTB R2,R2 ;; ZeroExtS R2,R2,#+24,#+24
UXTH R2,R2 ;; ZeroExtS R2,R2,#+16,#+16
CMP R2,#+108
BCS.N ??account_RH_1
MOVS R0,#+143
MUL R2,R2,R0
MOVS R0,#+512
UXTH R2,R2 ;; ZeroExtS R2,R2,#+16,#+16
CMP R2,R0
BCS.N ??account_RH_2
MOVS R0,#+2
B.N ??account_RH_3
??account_RH_2:
SUBS R2,R2,#+512
B.N ??account_RH_4
??account_RH_1:
MOVS R0,#+111
MUL R2,R2,R0
ADDW R2,R2,#+2893
??account_RH_4:
UXTH R2,R2 ;; ZeroExtS R2,R2,#+16,#+16
LSRS R2,R2,#+8
UXTB R2,R2 ;; ZeroExtS R2,R2,#+24,#+24
MOVS R0,R2
UXTB R0,R0 ;; ZeroExtS R0,R0,#+24,#+24
??account_RH_3:
BX LR ;; return
SECTION `.XML`:CODE:NOROOT(2)
THUMB
Test_error:
UXTB R0,R0 ;; ZeroExtS R0,R0,#+24,#+24
CMP R0,#+0
BNE.N ??Test_error_0
MOVS R2,#+0
STRB R2,[R1, #+15]
MOVS R2,#+0
STRB R2,[R1, #+16]
B.N ??Test_error_1
??Test_error_0:
LDRB R2,[R1, #+15]
ADDS R2,R2,#+1
STRB R2,[R1, #+15]
UXTB R2,R2 ;; ZeroExtS R2,R2,#+24,#+24
CMP R2,#+10
BCC.N ??Test_error_1
MOVS R2,#+1
STRB R2,[R1, #+16]
??Test_error_1:
BX LR ;; return
SECTION `.XML`:CODE:NOROOT(2)
THUMB
read_SHT_data:
PUSH {R0,LR}
LDR.N R0,??read_SHT_data_0 ;; ??Timecounter
LDRB R0,[R0, #+0]
ADDS R0,R0,#+1
LDR.N R1,??read_SHT_data_0 ;; ??Timecounter
STRB R0,[R1, #+0]
UXTB R0,R0 ;; ZeroExtS R0,R0,#+24,#+24
CMP R0,#+20
BCC.N ??read_SHT_data_1
LDR.N R0,??read_SHT_data_0 ;; ??Timecounter
MOVS R1,#+0
STRB R1,[R0, #+0]
??read_SHT_data_1:
LDR.N R0,??read_SHT_data_0 ;; ??Timecounter
LDRB R0,[R0, #+0]
CMP R0,#+0
BEQ.N ??read_SHT_data_2
SUBS R0,R0,#+1
BEQ.N ??read_SHT_data_3
SUBS R0,R0,#+18
BEQ.N ??read_SHT_data_4
B.N ??read_SHT_data_5
??read_SHT_data_2:
MOVS R1,#+1
LDR.N R0,??read_SHT_data_0+0x4 ;; TemRHA
BL Read_SHT
STRB R0,[SP, #+0]
LDR.N R1,??read_SHT_data_0+0x4 ;; TemRHA
LDRB R0,[SP, #+0]
BL Test_error
LDR.N R0,??read_SHT_data_0+0x4 ;; TemRHA
BL START_SHT
LDR.N R1,??read_SHT_data_0+0x4 ;; TemRHA
MOVS R0,#+6
BL Write_SHT
STRB R0,[SP, #+0]
LDR.N R1,??read_SHT_data_0+0x4 ;; TemRHA
MOVS R0,#+1
BL Write_SHT
STRB R0,[SP, #+0]
LDR.N R1,??read_SHT_data_0+0x4 ;; TemRHA
MOVS R0,#+3
BL Write_SHT
STRB R0,[SP, #+0]
LDR.N R1,??read_SHT_data_0+0x4 ;; TemRHA
LDRB R0,[SP, #+0]
BL Test_error
B.N ??read_SHT_data_5
??read_SHT_data_3:
MOVS R1,#+0
LDR.N R0,??read_SHT_data_0+0x4 ;; TemRHA
BL Read_SHT
STRB R0,[SP, #+0]
LDR.N R1,??read_SHT_data_0+0x4 ;; TemRHA
LDRB R0,[SP, #+0]
BL Test_error
B.N ??read_SHT_data_5
??read_SHT_data_4:
LDR.N R0,??read_SHT_data_0+0x4 ;; TemRHA
BL START_SHT
LDR.N R1,??read_SHT_data_0+0x4 ;; TemRHA
MOVS R0,#+5
BL Write_SHT
STRB R0,[SP, #+0]
LDR.N R1,??read_SHT_data_0+0x4 ;; TemRHA
LDRB R0,[SP, #+0]
BL Test_error
??read_SHT_data_5:
LDR.N R0,??read_SHT_data_0+0x8 ;; TemRHA + 16
LDRB R0,[R0, #+0]
CMP R0,#+0
BNE.N ??read_SHT_data_6
LDR.N R0,??read_SHT_data_0+0xC ;; _YT + 8
LDR.N R1,??read_SHT_data_0+0x10 ;; TemRHA + 14
LDRB R1,[R1, #+0]
STRH R1,[R0, #+0]
LDR.N R0,??read_SHT_data_0+0x14 ;; _YT + 6
LDR.N R1,??read_SHT_data_0+0x18 ;; TemRHA + 13
LDRB R1,[R1, #+0]
STRH R1,[R0, #+0]
B.N ??read_SHT_data_7
??read_SHT_data_6:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -