Rev 9217 | Rev 9771 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 9217 | Rev 9760 | ||
---|---|---|---|
1 | use32 |
1 | use32 |
2 | org 0 |
2 | org 0 |
3 | 3 | ||
4 | db 'MENUET01' |
4 | db 'MENUET01' |
5 | dd 1 |
5 | dd 1 |
6 | dd START |
6 | dd START |
7 | dd I_END ; à §¬¥à ¯à®£à ¬¬ë |
7 | dd I_END ; à §¬¥à ¯à®£à ¬¬ë |
8 | dd MEM ; ª®«¨ç¥á⢮ ¯ ¬ï⨠|
8 | dd MEM ; ª®«¨ç¥á⢮ ¯ ¬ï⨠|
9 | dd STACKTOP |
9 | dd STACKTOP |
10 | dd 0 |
10 | dd 0 |
11 | dd 0 |
11 | dd 0 |
12 | include '..\..\macros.inc' |
12 | include '..\..\macros.inc' |
13 | include '..\..\KOSfuncs.inc' |
13 | include '..\..\KOSfuncs.inc' |
14 | 14 | ||
15 | START: |
15 | START: |
16 | ;;óñòàíîâêà ìàñêà ñîáûòèé íà ïîëó÷åíèå ïåðåïèñîâêè è íàæàòèÿ íà êíîïêó |
16 | ;;óñòàíîâêà ìàñêà ñîáûòèé íà ïîëó÷åíèå ïåðåïèñîâêè è íàæàòèÿ íà êíîïêó |
17 | mcall SF_SET_EVENTS_MASK,0x05 |
17 | mcall SF_SET_EVENTS_MASK,0x05 |
18 | ;load driver |
18 | ;load driver |
19 | mcall SF_SYS_MISC, SSF_LOAD_DRIVER_PE, path_drv, 0 |
19 | mcall SF_SYS_MISC, SSF_LOAD_DRIVER_PE, path_drv, 0 |
20 | mov dword[drv_struct.handl],eax |
20 | mov dword[drv_struct.handl],eax |
21 | test eax,eax ;ïðîâåðêà çàãðóçêè |
21 | test eax,eax ;ïðîâåðêà çàãðóçêè |
22 | jnz still |
22 | jnz main |
23 | jmp error_drv |
23 | jmp error_drv |
- | 24 | main: |
|
- | 25 | mcall SF_SYS_MISC, SSF_CONTROL_DRIVER, drv_struct |
|
- | 26 | call add_file |
|
24 | still: ;void main() |
27 | still: ;void main() |
25 | call draw |
28 | call draw |
26 | ;;îæèäàíèå ñîáûòèÿ â òå÷åíèè 2000ìñ |
29 | ;;îæèäàíèå ñîáûòèÿ â òå÷åíèè 2000ìñ |
27 | mcall SF_WAIT_EVENT_TIMEOUT,200 ;2 second |
30 | mcall SF_WAIT_EVENT_TIMEOUT,200 ;2 second |
28 | dec eax ; redraw request ? |
31 | dec eax ; redraw request ? |
29 | je still |
32 | je still |
30 | cmp eax,2 ;button |
33 | cmp eax,2 ;button |
31 | jz button |
34 | jz button |
32 | jmp still |
35 | jmp still |
33 | 36 | ||
34 | button: |
37 | button: |
35 | mcall SF_GET_BUTTON |
38 | mcall SF_GET_BUTTON |
36 | 39 | ||
37 | cmp eax,1 |
40 | cmp eax,1 |
38 | jz still |
41 | jz still |
39 | dec ah |
42 | dec ah |
40 | je exit |
43 | je exit |
41 | ;; id button micro_info = 8 |
44 | ;; id button micro_info = 8 |
42 | cmp ah,7 ;// ah-1=7 |
45 | cmp ah,7 ;// ah-1=7 |
43 | jnz still |
46 | jnz still |
44 | xor byte[flag_micro_info],1 |
47 | xor byte[flag_micro_info],1 |
45 | jmp still |
48 | jmp still |
46 | draw: |
49 | draw: |
47 | mcall SF_REDRAW, SSF_BEGIN_DRAW |
50 | mcall SF_REDRAW, SSF_BEGIN_DRAW |
48 | mcall SF_STYLE_SETTINGS,SSF_GET_COLORS,sc,sc,sizeof.system_colors |
51 | mcall SF_STYLE_SETTINGS,SSF_GET_COLORS,sc,sc,sizeof.system_colors |
49 | 52 | ||
50 | mov eax,SF_CREATE_WINDOW |
53 | mov eax,SF_CREATE_WINDOW |
51 | mov ebx,0x00ff013f |
54 | mov ebx,0x00ff013f |
52 | mov ecx,0x001500cc |
55 | mov ecx,0x001500cc |
53 | mov edx,0x14000000 |
56 | mov edx,0x14000000 |
54 | add edx,[sc.work] |
57 | add edx,[sc.work] |
55 | mov edi,title |
58 | mov edi,title |
56 | mcall |
59 | mcall |
57 | 60 | ||
58 | mcall SF_SYS_MISC, SSF_CONTROL_DRIVER, drv_struct |
61 | mcall SF_SYS_MISC, SSF_CONTROL_DRIVER, drv_struct |
- | 62 | ||
- | 63 | dec dword[update_flag] |
|
- | 64 | jnz @F |
|
- | 65 | call add_new_item |
|
- | 66 | mov dword[update_flag], 30 |
|
- | 67 | @@: |
|
59 | 68 | ||
60 | cmp byte[flag_micro_info],1 |
69 | cmp byte[flag_micro_info],1 |
61 | mov eax,SF_CHANGE_WINDOW |
70 | mov eax,SF_CHANGE_WINDOW |
62 | mov ebx,-1 |
71 | mov ebx,-1 |
63 | mov ecx,ebx;-1 |
72 | mov ecx,ebx;-1 |
64 | jz draw.micro |
73 | jz draw.micro |
65 | 74 | ||
66 | mov esi,0x000000cc |
75 | mov esi,0x000000cc |
67 | mov edx,0x0000013f |
76 | mov edx,0x0000013f |
68 | mcall |
77 | mcall |
69 | ;;ñîçäàíèå êíîïêè ïåðåêëþ÷åíèÿ ðåæèìà |
78 | ;;ñîçäàíèå êíîïêè ïåðåêëþ÷åíèÿ ðåæèìà |
70 | mov eax,SF_DEFINE_BUTTON |
79 | mov eax,SF_DEFINE_BUTTON |
71 | mov ebx,0x01250010 |
80 | mov ebx,0x01250010 |
72 | mov ecx,0x001d0015 |
81 | mov ecx,0x001d0015 |
73 | mov edx,0x00000008 |
82 | mov edx,0x00000008 |
74 | mov esi,[sc.work_button] |
83 | mov esi,[sc.work_button] |
75 | mcall |
84 | mcall |
76 | ;;âûâîä çíàêà íà êíîïêó |
85 | ;;âûâîä çíàêà íà êíîïêó |
77 | ;;òàê êàê ôóíêöèÿ writeText íå äîëæíà èçìåíÿòü ðåãèñòðû |
86 | ;;òàê êàê ôóíêöèÿ writeText íå äîëæíà èçìåíÿòü ðåãèñòðû |
78 | ;;ïðèñâîåíèÿ â ðåãèñòðû eax è ecx ïðîèñõîäÿò òîëüêî 1 ðàç |
87 | ;;ïðèñâîåíèÿ â ðåãèñòðû eax è ecx ïðîèñõîäÿò òîëüêî 1 ðàç |
79 | ;; Äàëåå, òàê êàê òåêñò âûâîäèòñÿ ïî÷òè âñåãäà ñ îäèíàêîâûì |
88 | ;; Äàëåå, òàê êàê òåêñò âûâîäèòñÿ ïî÷òè âñåãäà ñ îäèíàêîâûì |
80 | ;; ñìåùåíèåì âíèç(ðàâíûì 15) äûííûå(ñòðîêè) èìåþò îäèíàêîâûé |
89 | ;; ñìåùåíèåì âíèç(ðàâíûì 15) äûííûå(ñòðîêè) èìåþò îäèíàêîâûé |
81 | ;; ðàçìåð , òî èñïîëüçóåòñÿ èíñòðóêöèÿ add |
90 | ;; ðàçìåð , òî èñïîëüçóåòñÿ èíñòðóêöèÿ add |
82 | mov eax,SF_DRAW_TEXT |
91 | mov eax,SF_DRAW_TEXT |
83 | mov ebx,0x01290020 |
92 | mov ebx,0x01290020 |
84 | mov ecx,0x81000000 |
93 | mov ecx,0x81000000 |
85 | add ecx,[sc.work_text] |
94 | add ecx,[sc.work_text] |
86 | mov edx,_up |
95 | mov edx,_up |
87 | mcall |
96 | mcall |
88 | 97 | ||
89 | ;âûâîä "Tctl:" |
98 | ;âûâîä "Tctl:" |
90 | mov ebx,0x000a0020 |
99 | mov ebx,0x000a0020 |
91 | mov ecx,0x90000000 |
100 | mov ecx,0x90000000 |
92 | add ecx,[sc.work_text] |
101 | add ecx,[sc.work_text] |
93 | mov edx,_Tctl |
102 | mov edx,_Tctl |
94 | mcall |
103 | mcall |
95 | 104 | ||
96 | ;âûâîä "Tmax:" |
105 | ;âûâîä "Tmax:" |
97 | add ebx,0x15 |
106 | add ebx,0x15 |
98 | add edx,7 |
107 | add edx,7 |
99 | mcall |
108 | mcall |
100 | 109 | ||
101 | ;âûâîä "Tcrit:" |
110 | ;âûâîä "Tcrit:" |
102 | add ebx,0x2a |
111 | add ebx,0x2a |
103 | add edx,7 |
112 | add edx,7 |
104 | mcall |
113 | mcall |
105 | 114 | ||
106 | ;âûâîä "Tccd1:" |
115 | ;âûâîä "Tccd1:" |
107 | add ebx,0x19 |
116 | add ebx,0x19 |
108 | add edx,7 |
117 | add edx,7 |
109 | mcall |
118 | mcall |
110 | 119 | ||
111 | ;âûâîä "Tccd2:" |
120 | ;âûâîä "Tccd2:" |
112 | add ebx,0x15 |
121 | add ebx,0x15 |
113 | add edx,7 |
122 | add edx,7 |
114 | mcall |
123 | mcall |
115 | 124 | ||
116 | ;âûâîä "Tccd3:" |
125 | ;âûâîä "Tccd3:" |
117 | add ebx,0x15 |
126 | add ebx,0x15 |
118 | add edx,7 |
127 | add edx,7 |
119 | mcall |
128 | mcall |
120 | 129 | ||
121 | ;âûâîä "Tccd4:" |
130 | ;âûâîä "Tccd4:" |
122 | add ebx,0x15 |
131 | add ebx,0x15 |
123 | add edx,7 |
132 | add edx,7 |
124 | mcall |
133 | mcall |
125 | 134 | ||
126 | ;âûâîä "Tccd5:" |
135 | ;âûâîä "Tccd5:" |
127 | mov ebx,0x00a50078 |
136 | mov ebx,0x00a50078 |
128 | add edx,7 |
137 | add edx,7 |
129 | mcall |
138 | mcall |
130 | 139 | ||
131 | ;âûâîä "Tccd6:" |
140 | ;âûâîä "Tccd6:" |
132 | add ebx,0x15 |
141 | add ebx,0x15 |
133 | add edx,7 |
142 | add edx,7 |
134 | mcall |
143 | mcall |
135 | 144 | ||
136 | ;âûâîä "Tccd7:" |
145 | ;âûâîä "Tccd7:" |
137 | add ebx,0x15 |
146 | add ebx,0x15 |
138 | add edx,7 |
147 | add edx,7 |
139 | mcall |
148 | mcall |
140 | 149 | ||
141 | ;âûâîä "Tccd8:" |
150 | ;âûâîä "Tccd8:" |
142 | add ebx,0x15 |
151 | add ebx,0x15 |
143 | add edx,7 |
152 | add edx,7 |
144 | mcall |
153 | mcall |
145 | 154 | ||
146 | ;âûâîä "Tdie:" |
155 | ;âûâîä "Tdie:" |
147 | mov ebx,0x00a5005f |
156 | mov ebx,0x00a5005f |
148 | add edx,7 |
157 | add edx,7 |
149 | mcall |
158 | mcall |
150 | 159 | ||
151 | ;âûâîä "Tcrit hyst:" |
160 | ;âûâîä "Tcrit hyst:" |
152 | mov ebx,0x000a004a |
161 | mov ebx,0x000a004a |
153 | add edx,7 |
162 | add edx,7 |
154 | mcall |
163 | mcall |
155 | ;;;;;;input data driver;;;;;;;;; |
164 | ;;;;;;input data driver;;;;;;;;; |
156 | mov eax,0x004a0020 |
165 | mov eax,0x004a0020 |
157 | mov ebx,drv_data.Tctl ;âûâîä äàííûõ îò äðàéâåðà |
166 | mov ebx,drv_data.Tctl ;âûâîä äàííûõ îò äðàéâåðà |
158 | call write_data |
167 | call write_data |
159 | 168 | ||
160 | add eax,0x15 |
169 | add eax,0x15 |
161 | mov ebx,drv_data.Tmax |
170 | mov ebx,drv_data.Tmax |
162 | call write_data |
171 | call write_data |
163 | 172 | ||
164 | add eax,0x2a |
173 | add eax,0x2a |
165 | mov ebx,drv_data.Tcrit |
174 | mov ebx,drv_data.Tcrit |
166 | call write_data |
175 | call write_data |
167 | 176 | ||
168 | add eax,0x19 |
177 | add eax,0x19 |
169 | mov ebx,drv_data.Tccd1 |
178 | mov ebx,drv_data.Tccd1 |
170 | call write_data |
179 | call write_data |
171 | 180 | ||
172 | add eax,0x15 |
181 | add eax,0x15 |
173 | add ebx,4 |
182 | add ebx,4 |
174 | call write_data |
183 | call write_data |
175 | 184 | ||
176 | add eax,0x15 |
185 | add eax,0x15 |
177 | add ebx,4 |
186 | add ebx,4 |
178 | call write_data |
187 | call write_data |
179 | 188 | ||
180 | add eax,0x15 |
189 | add eax,0x15 |
181 | add ebx,4 |
190 | add ebx,4 |
182 | call write_data |
191 | call write_data |
183 | 192 | ||
184 | mov eax,0x00E50078 |
193 | mov eax,0x00E50078 |
185 | add ebx,4 |
194 | add ebx,4 |
186 | call write_data |
195 | call write_data |
187 | 196 | ||
188 | add eax,0x15 |
197 | add eax,0x15 |
189 | add ebx,4 |
198 | add ebx,4 |
190 | call write_data |
199 | call write_data |
191 | 200 | ||
192 | add eax,0x15 |
201 | add eax,0x15 |
193 | add ebx,4 |
202 | add ebx,4 |
194 | call write_data |
203 | call write_data |
195 | 204 | ||
196 | add eax,0x15 |
205 | add eax,0x15 |
197 | add ebx,4 |
206 | add ebx,4 |
198 | call write_data |
207 | call write_data |
199 | 208 | ||
200 | mov eax,0x00E5005f |
209 | mov eax,0x00E5005f |
201 | mov ebx,drv_data.Tdie |
210 | mov ebx,drv_data.Tdie |
202 | call write_data |
211 | call write_data |
203 | 212 | ||
204 | mov eax,0x007a004a |
213 | mov eax,0x007a004a |
205 | mov ebx,drv_data.Tcrit_hyst |
214 | mov ebx,drv_data.Tcrit_hyst |
206 | call write_data |
215 | call write_data |
207 | jmp @f |
216 | jmp @f |
208 | .micro: |
217 | .micro: |
209 | mov esi,0x00000035 |
218 | mov esi,0x00000035 |
210 | mov edx,0x000000c0 |
219 | mov edx,0x000000c0 |
211 | mcall |
220 | mcall |
212 | 221 | ||
213 | mov eax,SF_DEFINE_BUTTON |
222 | mov eax,SF_DEFINE_BUTTON |
214 | mov ebx,0x00a70010 |
223 | mov ebx,0x00a70010 |
215 | mov ecx,0x001d0015 |
224 | mov ecx,0x001d0015 |
216 | mov edx,eax;0x00000008 |
225 | mov edx,eax;0x00000008 |
217 | mov esi,[sc.work_button] |
226 | mov esi,[sc.work_button] |
218 | mcall |
227 | mcall |
219 | 228 | ||
220 | mov eax,SF_DRAW_TEXT;4 |
229 | mov eax,SF_DRAW_TEXT;4 |
221 | mov ebx,0x000a0020 |
230 | mov ebx,0x000a0020 |
222 | mov ecx,0x90000000 |
231 | mov ecx,0x90000000 |
223 | add ecx,[sc.work_text] |
232 | add ecx,[sc.work_text] |
224 | mov edx,_Tctl |
233 | mov edx,_Tctl |
225 | mcall |
234 | mcall |
226 | 235 | ||
227 | add ebx,0x00a00000 |
236 | add ebx,0x00a00000 |
228 | mov ecx,0x81000000 |
237 | mov ecx,0x81000000 |
229 | add ecx,[sc.work_text] |
238 | add ecx,[sc.work_text] |
230 | mov edx,_down |
239 | mov edx,_down |
231 | mcall |
240 | mcall |
232 | 241 | ||
233 | mov eax,0x004a0020 |
242 | mov eax,0x004a0020 |
234 | mov ebx,drv_data.Tctl |
243 | mov ebx,drv_data.Tctl |
235 | call write_data |
244 | call write_data |
236 | @@: |
245 | @@: |
237 | mcall SF_REDRAW, SSF_END_DRAW |
246 | mcall SF_REDRAW, SSF_END_DRAW |
238 | ret |
247 | ret |
239 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
248 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
240 | ;; procedure write_data(eax, ebx); |
249 | ;; procedure write_data(eax, ebx); |
241 | ;; eax=x*65536+y |
250 | ;; eax=x*65536+y |
242 | ;; ebx=pointer on value |
251 | ;; ebx=pointer on value |
243 | ;; ecx register don`t save |
252 | ;; ecx register don`t save |
244 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
253 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
245 | write_data: |
254 | write_data: |
246 | push eax |
255 | push eax |
247 | push ebx |
256 | push ebx |
248 | ;mov edx,[ebx] ;edx=value |
257 | ;mov edx,[ebx] ;edx=value |
249 | mov esi,ebx |
258 | mov esi,ebx |
250 | cmp dword[ebx],-1 ; flag ziro data |
259 | cmp dword[ebx],-1 ; flag ziro data |
251 | mov ecx,0x90000000 |
260 | mov ecx,0x90000000 |
252 | mov ebx,eax |
261 | mov ebx,eax |
253 | jnz @f |
262 | jnz @f |
254 | ;write n/a |
263 | ;write n/a |
255 | add ecx,[sc.work_text] |
264 | add ecx,[sc.work_text] |
256 | mov eax,SF_DRAW_TEXT |
265 | mov eax,SF_DRAW_TEXT |
257 | mov edx,_NA |
266 | mov edx,_NA |
258 | mcall |
267 | mcall |
259 | pop ebx |
268 | pop ebx |
260 | pop eax |
269 | pop eax |
261 | ret |
270 | ret |
262 | @@: |
271 | @@: |
263 | ;write_value |
272 | ;write_value |
264 | ; value / 1000 =value_in_1 |
273 | ; value / 1000 =value_in_1 |
265 | ;input value_in_1,koord_start |
274 | ;input value_in_1,koord_start |
266 | ; if value >=100 then dot_kord=4 ; =0x20 |
275 | ; if value >=100 then dot_kord=4 ; =0x20 |
267 | ; if value >10 then dot_kord=3; =0x18 |
276 | ; if value >10 then dot_kord=3; =0x18 |
268 | ; dot_kord=2 |
277 | ; dot_kord=2 |
269 | ;input ".", koord_start+dot_koord*size_w(char) |
278 | ;input ".", koord_start+dot_koord*size_w(char) |
270 | ;value-value_in_1 = value_in_2 |
279 | ;value-value_in_1 = value_in_2 |
271 | ;input value_in_2, koord_start+dot_kord+1*size_w(char=8) |
280 | ;input value_in_2, koord_start+dot_kord+1*size_w(char=8) |
272 | push eax |
281 | push eax |
273 | mov eax,[esi] |
282 | mov eax,[esi] |
274 | xor edx,edx |
283 | xor edx,edx |
275 | mov ebx,1000 |
284 | mov ebx,1000 |
276 | div ebx |
285 | div ebx |
277 | cmp eax,100 |
286 | cmp eax,100 |
278 | jae .dot_4 |
287 | jae .dot_4 |
279 | cmp eax,10 |
288 | cmp eax,10 |
280 | jae .dot_3 ; ----| |
289 | jae .dot_3 ; ----| |
281 | mov edi,0x0c;0x10; | |
290 | mov edi,0x0c;0x10; | |
282 | jmp .write ; | |
291 | jmp .write ; | |
283 | .dot_4: ; | |
292 | .dot_4: ; | |
284 | mov edi,0x1c;0x20; | |
293 | mov edi,0x1c;0x20; | |
285 | jmp .write ; | |
294 | jmp .write ; | |
286 | .dot_3: ; <-| |
295 | .dot_3: ; <-| |
287 | mov edi,0x14;0x18 |
296 | mov edi,0x14;0x18 |
288 | .write: |
297 | .write: |
289 | mov ecx,edx |
298 | mov ecx,edx |
290 | pop edx |
299 | pop edx |
291 | push ecx |
300 | push ecx |
292 | 301 | ||
293 | mov ecx,eax |
302 | mov ecx,eax |
294 | mov ebx,0x80030000 |
303 | mov ebx,0x80030000 |
295 | mov eax,SF_DRAW_NUMBER |
304 | mov eax,SF_DRAW_NUMBER |
296 | mov esi,0x10000000 |
305 | mov esi,0x10000000 |
297 | add esi,[sc.work_text] |
306 | add esi,[sc.work_text] |
298 | mcall |
307 | mcall |
299 | shl edi,16 |
308 | shl edi,16 |
300 | mov eax,SF_DRAW_TEXT |
309 | mov eax,SF_DRAW_TEXT |
301 | add edx,edi |
310 | add edx,edi |
302 | mov ebx,edx |
311 | mov ebx,edx |
303 | 312 | ||
304 | mov ecx,0x90000000 |
313 | mov ecx,0x90000000 |
305 | add ecx,[sc.work_text] |
314 | add ecx,[sc.work_text] |
306 | mov edx,_dot |
315 | mov edx,_dot |
307 | mcall |
316 | mcall |
308 | mov eax,SF_DRAW_NUMBER |
317 | mov eax,SF_DRAW_NUMBER |
309 | mov edx,ebx |
318 | mov edx,ebx |
310 | mov esi,0x10000000 |
319 | mov esi,0x10000000 |
311 | add esi,[sc.work_text] |
320 | add esi,[sc.work_text] |
312 | mov ebx,0x00030000 |
321 | mov ebx,0x00030000 |
313 | 322 | ||
314 | add edx,0x80000 |
323 | add edx,0x80000 |
315 | pop ecx |
324 | pop ecx |
316 | mcall |
325 | mcall |
317 | mov eax,SF_DRAW_TEXT |
326 | mov eax,SF_DRAW_TEXT |
318 | mov ebx,edx |
327 | mov ebx,edx |
319 | mov ecx,0x80000000 |
328 | mov ecx,0x80000000 |
320 | add ecx,[sc.work_text] |
329 | add ecx,[sc.work_text] |
321 | add ebx,0x180000 |
330 | add ebx,0x180000 |
322 | mov edx,_t |
331 | mov edx,_t |
323 | mcall |
332 | mcall |
324 | 333 | ||
325 | mov ecx,0x90000000 |
334 | mov ecx,0x90000000 |
326 | add ecx,[sc.work_text] |
335 | add ecx,[sc.work_text] |
327 | add ebx,0x60000 |
336 | add ebx,0x60000 |
328 | mov edx,_C |
337 | mov edx,_C |
329 | mcall |
338 | mcall |
330 | pop ebx |
339 | pop ebx |
331 | pop eax |
340 | pop eax |
332 | ret |
341 | ret |
333 | 342 | ||
334 | error_drv: |
343 | error_drv: |
335 | mcall SF_FILE,run_notify |
344 | mcall SF_FILE,run_notify |
336 | exit: |
345 | exit: |
337 | mcall SF_TERMINATE_PROCESS |
346 | mcall SF_TERMINATE_PROCESS |
- | 347 | ||
- | 348 | add_file: |
|
- | 349 | mcall SF_FILE, graph_temp |
|
- | 350 | mov dword[graph_temp], 3 |
|
- | 351 | mov dword[graph_temp.size], 11 |
|
- | 352 | mov dword[graph_temp.str], graph_start.new_data |
|
- | 353 | mov eax,[drv_data.Tmax] |
|
- | 354 | mov dword[graph_temp.index], 9 |
|
- | 355 | mov ebx, graph_start.new_data |
|
- | 356 | call int_to_str |
|
- | 357 | mcall SF_FILE, graph_temp |
|
- | 358 | ||
- | 359 | mov dword[graph_temp.index], 20 |
|
- | 360 | ret |
|
- | 361 | index_item: |
|
- | 362 | dd 1 |
|
- | 363 | add_new_item: |
|
- | 364 | mov eax,[index_item] |
|
- | 365 | imul eax,1000 |
|
- | 366 | mov ebx, graph_start.new_data |
|
- | 367 | call int_to_str |
|
- | 368 | mcall SF_FILE, graph_temp |
|
- | 369 | add dword[graph_temp.index], 11 |
|
- | 370 | inc dword[index_item] |
|
- | 371 | mov eax,[drv_data.Tctl] |
|
- | 372 | mov ebx, graph_start.new_data |
|
- | 373 | call int_to_str |
|
- | 374 | mcall SF_FILE, graph_temp |
|
- | 375 | add dword[graph_temp.index], 11 |
|
- | 376 | ret |
|
- | 377 | ||
- | 378 | ;eax = int value / 1000 |
|
- | 379 | ;ebx = *str |
|
- | 380 | ; èç çà êîíêðåòèêè äàííîãî ïðèëàæåíèÿ(à èìåííî èçìåðåíèå òåìïåðàòóðû ïðîöà), ñîìíèâàþñü |
|
- | 381 | ; ÷òî ïîòðåáóåòñÿ áîëüøå 3 öèôð íà çíà÷åíèå(õõõ.õõõ) òàê ÷òî áóäåò êîñòûëü |
|
- | 382 | int_to_str: |
|
- | 383 | push ecx edx esi |
|
- | 384 | mov ecx, '0000' |
|
- | 385 | mov [ebx], ecx |
|
- | 386 | mov [ebx+5], ecx |
|
- | 387 | ||
- | 388 | xor edx, edx |
|
- | 389 | mov esi, 1000 |
|
- | 390 | div esi |
|
- | 391 | push edx |
|
- | 392 | mov esi, 10 |
|
- | 393 | push ebx |
|
- | 394 | add ebx, 3 |
|
- | 395 | .loop: |
|
- | 396 | and eax, 0x3ff ; 1023 |
|
- | 397 | test eax, eax |
|
- | 398 | jz @f |
|
- | 399 | xor edx, edx |
|
- | 400 | div esi |
|
- | 401 | add edx, '0' |
|
- | 402 | mov byte[ebx], dl |
|
- | 403 | dec ebx |
|
- | 404 | jmp .loop |
|
- | 405 | @@: |
|
- | 406 | pop ebx |
|
- | 407 | add ebx, 8;4 |
|
- | 408 | pop edx |
|
- | 409 | ;mov byte[ebx],'.' |
|
- | 410 | ;add ebx, 4 |
|
- | 411 | test edx, edx |
|
- | 412 | jz @f |
|
- | 413 | mov eax, edx |
|
- | 414 | imul eax, 10 |
|
- | 415 | xor edx, edx |
|
- | 416 | push edx |
|
- | 417 | push ebx |
|
- | 418 | jmp .loop |
|
- | 419 | @@: |
|
- | 420 | pop esi edx ecx |
|
- | 421 | ret |
|
338 | ;Data_program; |
422 | ;Data_program; |
339 | title db 'AMDtemp',0 |
423 | title db 'AMDtemp',0 |
340 | path_drv db '/kolibrios/drivers/sensors/k10temp.sys',0 |
424 | path_drv db '/kolibrios/drivers/sensors/k10temp.sys',0 |
341 | Error_text db '"Error load driver\nk10temp.sys was not found or is faulty " -tdE ',0 |
425 | Error_text db '"Error load driver\nk10temp.sys was not found or is faulty " -tdE ',0 |
342 | _NA db 'N/A',0 |
426 | _NA db 'N/A',0 |
343 | _dot db '.',0 |
427 | _dot db '.',0 |
344 | _t db 0x1d,0x00 |
428 | _t db 0x1d,0x00 |
345 | _C db 'C',0x00 |
429 | _C db 'C',0x00 |
346 | _down db 0x1f,0x00 |
430 | _down db 0x1f,0x00 |
347 | _up db 0x1e,0x00 |
431 | _up db 0x1e,0x00 |
348 | 432 | ||
349 | 433 | ||
350 | _Tctl db 'Tctl: ',0 |
434 | _Tctl db 'Tctl: ',0 |
351 | _Tmax db 'Tmax: ',0 |
435 | _Tmax db 'Tmax: ',0 |
352 | _Tcrit db 'Tcrit:',0 |
436 | _Tcrit db 'Tcrit:',0 |
353 | _Tccd1 db 'Tccd1:',0 |
437 | _Tccd1 db 'Tccd1:',0 |
354 | _Tccd2 db 'Tccd2:',0 |
438 | _Tccd2 db 'Tccd2:',0 |
355 | _Tccd3 db 'Tccd3:',0 |
439 | _Tccd3 db 'Tccd3:',0 |
356 | _Tccd4 db 'Tccd4:',0 |
440 | _Tccd4 db 'Tccd4:',0 |
357 | _Tccd5 db 'Tccd5:',0 |
441 | _Tccd5 db 'Tccd5:',0 |
358 | _Tccd6 db 'Tccd6:',0 |
442 | _Tccd6 db 'Tccd6:',0 |
359 | _Tccd7 db 'Tccd7:',0 |
443 | _Tccd7 db 'Tccd7:',0 |
360 | _Tccd8 db 'Tccd8:',0 |
444 | _Tccd8 db 'Tccd8:',0 |
361 | _Tdie db 'Tdie: ',0 |
445 | _Tdie db 'Tdie: ',0 |
362 | _Tcrit_hyst db 'Tcrit hyst:',0 |
446 | _Tcrit_hyst db 'Tcrit hyst:',0 |
363 | 447 | ||
364 | ;;flag mode input data |
448 | ;;flag mode input data |
365 | flag_micro_info db 1 |
449 | flag_micro_info db 1 |
366 | drv_data: |
450 | drv_data: |
367 | .Tctl dd -1 |
451 | .Tctl dd -1 |
368 | .Tdie dd -1 |
452 | .Tdie dd -1 |
369 | .Tccd1 dd -1 |
453 | .Tccd1 dd -1 |
370 | .Tccd2 dd -1 |
454 | .Tccd2 dd -1 |
371 | .Tccd3 dd -1 |
455 | .Tccd3 dd -1 |
372 | .Tccd4 dd -1 |
456 | .Tccd4 dd -1 |
373 | .Tccd5 dd -1 |
457 | .Tccd5 dd -1 |
374 | .Tccd6 dd -1 |
458 | .Tccd6 dd -1 |
375 | .Tccd7 dd -1 |
459 | .Tccd7 dd -1 |
376 | .Tccd8 dd -1 |
460 | .Tccd8 dd -1 |
377 | 461 | ||
378 | .Tmax dd -1 |
462 | .Tmax dd -1 |
379 | .Tcrit dd -1 |
463 | .Tcrit dd -1 |
380 | .Tcrit_hyst dd -1 |
464 | .Tcrit_hyst dd -1 |
381 | .sizeof = $ - drv_data ; |
465 | .sizeof = $ - drv_data ; |
382 | 466 | ||
383 | drv_struct: |
467 | drv_struct: |
384 | .handl dd 0 |
468 | .handl dd 0 |
385 | dd 0 |
469 | dd 0 |
386 | dd 0 |
470 | dd 0 |
387 | dd 0 |
471 | dd 0 |
388 | dd drv_data |
472 | dd drv_data |
389 | dd drv_data.sizeof;52 ; 13*4 |
473 | dd drv_data.sizeof;52 ; 13*4 |
390 | 474 | ||
391 | run_notify: |
475 | run_notify: |
392 | dd 7 |
476 | dd 7 |
393 | dd 0 |
477 | dd 0 |
394 | dd Error_text |
478 | dd Error_text |
395 | dd 0 |
479 | dd 0 |
396 | dd 0 |
480 | dd 0 |
- | 481 | db '/sys/@notify',0 ,0,0,0 ;âûðàâíèâàíèå |
|
- | 482 | ||
- | 483 | update_flag: dd 30 ;1 minut |
|
- | 484 | graph_start: db '0 1000 0 ' ; 9 byte |
|
- | 485 | .new_data: db '0000.0000 ' ; 10-20 byte |
|
- | 486 | graph_temp: |
|
- | 487 | dd 2 |
|
- | 488 | .index: dd 0 |
|
397 | db '/sys/@notify',0 |
489 | dd 0 |
- | 490 | .size: dd 20 ; |
|
- | 491 | .str: dd graph_start ; çàìåíèòü |
|
- | 492 | db '/tmp0/1/graph_temp.txt',0,0 ; âûðàâíèâàíèå |
|
398 | 493 | ||
399 | sc system_colors |
494 | sc system_colors |
400 | I_END: |
495 | I_END: |
401 | rd 256 |
496 | rd 256 |
402 | STACKTOP: |
497 | STACKTOP: |
403 | MEM:-| |
498 | MEM:-| |
404 | > |
499 | > |