📄 yt_key.lst
字号:
64 History[0].SpaceCount=100;
\ 000000B4 0848 LDR.N R0,??scankey_0+0x8 ;; History + 1
\ 000000B6 6421 MOVS R1,#+100
\ 000000B8 0170 STRB R1,[R0, #+0]
65 Set_HISTORY(&History[0].ATemper[0]);
\ 000000BA 0848 LDR.N R0,??scankey_0+0xC ;; History + 2
\ 000000BC ........ BL Set_HISTORY
66 Set_HISTORY(&History[0].BTemper[0]);
\ 000000C0 0748 LDR.N R0,??scankey_0+0x10 ;; History + 102
\ 000000C2 ........ BL Set_HISTORY
67 Set_HISTORY(&History[0].CTemper[0]);
\ 000000C6 0748 LDR.N R0,??scankey_0+0x14 ;; History + 202
\ 000000C8 ........ BL Set_HISTORY
68 }
69 }
70 return 0;
\ ??scankey_8:
\ 000000CC 0020 MOVS R0,#+0
\ ??scankey_7:
\ 000000CE 70BD POP {R4-R6,PC} ;; return
\ ??scankey_0:
\ 000000D0 00080140 DC32 0x40010800
\ 000000D4 00100140 DC32 0x40011000
\ 000000D8 ........ DC32 History + 1
\ 000000DC ........ DC32 History + 2
\ 000000E0 ........ DC32 History + 102
\ 000000E4 ........ DC32 History + 202
71 }
72 //***********************************************
\ In section .XML, align 4, keep-with-next
73 Int8U key_setion(KEY *KEYA,_LCD *LCM)
74 {
\ key_setion:
\ 00000000 01B5 PUSH {R0,LR}
\ 00000002 0200 MOVS R2,R0
75 switch (LCM->Mode)
\ 00000004 4878 LDRB R0,[R1, #+1]
\ 00000006 0028 CMP R0,#+0
\ 00000008 0C28 CMP R0,#+12
\ 0000000A 06D9 BLS.N ??key_setion_0
\ 0000000C 0E38 SUBS R0,R0,#+14
\ 0000000E 0E28 CMP R0,#+14
\ 00000010 03D9 BLS.N ??key_setion_0
\ 00000012 0F38 SUBS R0,R0,#+15
\ 00000014 0728 CMP R0,#+7
\ 00000016 0BD9 BLS.N ??key_setion_1
\ 00000018 26E0 B.N ??key_setion_2
76 {
77 case C_LCM_ALA_REG0:
78 case C_LCM_ALA_REG1:
79 case C_LCM_ALA_REG2:
80 case C_LCM_ALA_REG3:
81 case C_LCM_ALA_REG4:
82 case C_LCM_ALA_REG5:
83 case C_LCM_ALA_REG6:
84 case C_LCM_ALAMC:
85 case C_LCM_TEMRH:
86 case C_LCM_Mode0:
87 case C_LCM_Mode1:
88 case C_LCM_Mode2:
89 case C_LCM_Mode3:
90 case C_LCM_Mode4:
91 case C_LCM_Mode5:
92 case C_LCM_Mode6:
93 case C_LCM_Mode7:
94 case C_LCM_Mode8:
95 case C_LCM_Mode9:
96 case C_LCM_Mode10:
97 case C_LCM_Mode11:
98 case C_LCM_Mode12:
99 case C_LCM_Mode13:
100 case C_LCM_Mode14:
101 case C_LCM_Mode15:
102 case C_LCM_Mode0_16:
103 case C_LCM_Mode0_17:
104 case C_LCM_Mode0_18:
105 if(KEYA->counter>=200)
\ ??key_setion_0:
\ 0000001A 1088 LDRH R0,[R2, #+0]
\ 0000001C C828 CMP R0,#+200
\ 0000001E 23D3 BCC.N ??key_setion_2
106 {
107 LCM->Mode=C_LCM_SET;
\ 00000020 1D20 MOVS R0,#+29
\ 00000022 4870 STRB R0,[R1, #+1]
108 LCM->Timer=0;
\ 00000024 0020 MOVS R0,#+0
\ 00000026 8870 STRB R0,[R1, #+2]
109 LCM->FLAG=1;
\ 00000028 0120 MOVS R0,#+1
\ 0000002A 0870 STRB R0,[R1, #+0]
110 return 0;
\ 0000002C 0020 MOVS R0,#+0
\ 0000002E 1CE0 B.N ??key_setion_3
111 }else
112 break;
113 case C_LCM_SET:
114 case C_LCM_SET1:
115 case C_LCM_SET2:
116 case C_LCM_SET3:
117 case C_LCM_SET4:
118 case C_LCM_SET5:
119 case C_LCM_SET6:
120 case C_LCM_SET7:
121 if(KEYA->counter==10)
\ ??key_setion_1:
\ 00000030 1088 LDRH R0,[R2, #+0]
\ 00000032 0A28 CMP R0,#+10
\ 00000034 0DD1 BNE.N ??key_setion_4
122 {
123 ++LCM->Mode;
\ 00000036 4878 LDRB R0,[R1, #+1]
\ 00000038 401C ADDS R0,R0,#+1
\ 0000003A 4870 STRB R0,[R1, #+1]
124 LCM->Timer=0;
\ 0000003C 0020 MOVS R0,#+0
\ 0000003E 8870 STRB R0,[R1, #+2]
125 LCM->FLAG=1;
\ 00000040 0120 MOVS R0,#+1
\ 00000042 0870 STRB R0,[R1, #+0]
126 LCM->Lcd_add=0;
\ 00000044 0020 MOVS R0,#+0
\ 00000046 C870 STRB R0,[R1, #+3]
127 if(LCM->Mode>C_LCM_SET7)LCM->Mode=C_LCM_SET;
\ 00000048 4878 LDRB R0,[R1, #+1]
\ 0000004A 2528 CMP R0,#+37
\ 0000004C 01D3 BCC.N ??key_setion_4
\ 0000004E 1D20 MOVS R0,#+29
\ 00000050 4870 STRB R0,[R1, #+1]
128 }
129 if(KEYA->counter>=200)
\ ??key_setion_4:
\ 00000052 1088 LDRH R0,[R2, #+0]
\ 00000054 C828 CMP R0,#+200
\ 00000056 07D3 BCC.N ??key_setion_2
130 {
131 LCM->Mode=C_LCM_TEMRH;
\ 00000058 0820 MOVS R0,#+8
\ 0000005A 4870 STRB R0,[R1, #+1]
132 LCM->Timer=0;
\ 0000005C 0020 MOVS R0,#+0
\ 0000005E 8870 STRB R0,[R1, #+2]
133 LCM->FLAG=1;
\ 00000060 0120 MOVS R0,#+1
\ 00000062 0870 STRB R0,[R1, #+0]
134 return C_FM24C04;
\ 00000064 6420 MOVS R0,#+100
\ 00000066 00E0 B.N ??key_setion_3
135 }
136
137 break;
138 }
139 return KEYA->ID;
\ ??key_setion_2:
\ 00000068 9078 LDRB R0,[R2, #+2]
\ ??key_setion_3:
\ 0000006A 01B0 ADD SP,SP,#+4
\ 0000006C 00BD POP {PC} ;; return
140 }
141 //***********************************************
\ In section .XML, align 4, keep-with-next
142 Int16U key_up(KEY *KEYA,_LCD *LCM,_yt *Data)
143 {
\ key_up:
\ 00000000 2DE9F041 PUSH {R4-R8,LR}
\ 00000004 8046 MOV R8,R0
\ 00000006 0C00 MOVS R4,R1
\ 00000008 1500 MOVS R5,R2
144 Int16U a,b;
145 switch(LCM->Mode)
\ 0000000A 6078 LDRB R0,[R4, #+1]
\ 0000000C 0028 CMP R0,#+0
\ 0000000E 0628 CMP R0,#+6
\ 00000010 1BD9 BLS.N ??key_up_0
\ 00000012 C01F SUBS R0,R0,#+7
\ 00000014 1528 CMP R0,#+21
\ 00000016 1DD9 BLS.N ??key_up_1
\ 00000018 1638 SUBS R0,R0,#+22
\ 0000001A 00F0D780 BEQ.W ??key_up_2
\ 0000001E 401E SUBS R0,R0,#+1
\ 00000020 00F0ED80 BEQ.W ??key_up_3
\ 00000024 401E SUBS R0,R0,#+1
\ 00000026 00F01D81 BEQ.W ??key_up_4
\ 0000002A 401E SUBS R0,R0,#+1
\ 0000002C 00F02581 BEQ.W ??key_up_5
\ 00000030 401E SUBS R0,R0,#+1
\ 00000032 00F03481 BEQ.W ??key_up_6
\ 00000036 401E SUBS R0,R0,#+1
\ 00000038 00F06381 BEQ.W ??key_up_7
\ 0000003C 401E SUBS R0,R0,#+1
\ 0000003E 00F0C982 BEQ.W ??key_up_8
\ 00000042 401E SUBS R0,R0,#+1
\ 00000044 00F01183 BEQ.W ??key_up_9
\ 00000048 63E3 B.N ??key_up_10
146 {
147 case C_LCM_ALA_REG0:
148 case C_LCM_ALA_REG1:
149 case C_LCM_ALA_REG2:
150 case C_LCM_ALA_REG3:
151 case C_LCM_ALA_REG4:
152 case C_LCM_ALA_REG5:
153 case C_LCM_ALA_REG6:
154 LCM->FLAG=1;
\ ??key_up_0:
\ 0000004A 0120 MOVS R0,#+1
\ 0000004C 2070 STRB R0,[R4, #+0]
155 LCM->Mode=C_LCM_Mode0;
\ 0000004E 0920 MOVS R0,#+9
\ 00000050 6070 STRB R0,[R4, #+1]
\ 00000052 5EE3 B.N ??key_up_10
156 break;
157 case C_LCM_ALAMC:
158 case C_LCM_TEMRH:
159 case C_LCM_Mode0:
160 case C_LCM_Mode1:
161 case C_LCM_Mode2:
162 case C_LCM_Mode3:
163 case C_LCM_Mode4:
164 case C_LCM_Mode5:
165 case C_LCM_Mode6:
166 case C_LCM_Mode0_1:
167 case C_LCM_Mode7:
168 case C_LCM_Mode8:
169 case C_LCM_Mode9:
170 case C_LCM_Mode10:
171 case C_LCM_Mode11:
172 case C_LCM_Mode12:
173 case C_LCM_Mode13:
174 case C_LCM_Mode14:
175 case C_LCM_Mode15:
176 case C_LCM_Mode0_16:
177 case C_LCM_Mode0_17:
178 case C_LCM_Mode0_18:
179 if((++LCM->Mode)>=C_LCM_SET)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -