Subversion Repositories Kolibri OS

Rev

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
>