fix gmon flickering issue
git-svn-id: svn://kolibrios.org@6353 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
22762353bf
commit
52fcf098d4
@ -1,26 +1,26 @@
|
|||||||
;
|
;
|
||||||
; Ghost Monitor - утилита (стресс) тестирования и мониторинга системы
|
; Ghost Monitor - утилита (стресс) тестирования и мониторинга системы
|
||||||
; Copyright (C) 2005, 2006, 2007 Mihailov Ilia (ghost.nsk@mail.ru)
|
; Copyright (C) 2005, 2006, 2007 Mihailov Ilia (ghost.nsk@mail.ru)
|
||||||
; All Right Reserved
|
; All Right Reserved
|
||||||
;
|
;
|
||||||
; ВОЗМОЖНА ПОРЧА ОБОРУДОВАНИЯ!
|
; ВОЗМОЖНА ПОРЧА ОБОРУДОВАНИЯ!
|
||||||
; ИСПОЛЬЗУЙТЕ НА СВОЙ СТРАХ И РИСК!
|
; ИСПОЛЬЗУЙТЕ НА СВОЙ СТРАХ И РИСК!
|
||||||
;
|
;
|
||||||
; Заметки :
|
; Заметки :
|
||||||
; Дописать запуск тестов (rtst) (нет реакции на ошибку запуска)
|
; Дописать запуск тестов (rtst) (нет реакции на ошибку запуска)
|
||||||
; Переделать обновление графика (сделать отдельным процессом)
|
; Переделать обновление графика (сделать отдельным процессом)
|
||||||
; Добавить реакцию на параметры датчиков
|
; Добавить реакцию на параметры датчиков
|
||||||
;
|
;
|
||||||
|
|
||||||
; Внешние файлы :
|
; Внешние файлы :
|
||||||
; hwm*.inc - процедуры работы с датчиками мониторинга
|
; hwm*.inc - процедуры работы с датчиками мониторинга
|
||||||
; system.inc - вычисление загрузки процессора, завершение теста, etc...
|
; system.inc - вычисление загрузки процессора, завершение теста, etc...
|
||||||
; tests.inc - тесты ;-)
|
; tests.inc - тесты ;-)
|
||||||
; diag.inc - поддержка диаграм
|
; diag.inc - поддержка диаграм
|
||||||
; tab_*.inc - процедуры отрисовки соответствуюших вкладок
|
; tab_*.inc - процедуры отрисовки соответствуюших вкладок
|
||||||
|
|
||||||
|
|
||||||
; Идентификаторы кнопок :
|
; Identifier buttons :
|
||||||
; 01 - Exit
|
; 01 - Exit
|
||||||
; 02 - Info tab
|
; 02 - Info tab
|
||||||
; 03 - Tests tab
|
; 03 - Tests tab
|
||||||
@ -33,7 +33,7 @@
|
|||||||
; 10 - MMX test - not used (tab_test.inc)
|
; 10 - MMX test - not used (tab_test.inc)
|
||||||
; 11 - Update time increment (tab_conf.inc)
|
; 11 - Update time increment (tab_conf.inc)
|
||||||
; 12 - Update time decriment (tab_conf.inc)
|
; 12 - Update time decriment (tab_conf.inc)
|
||||||
; 13..17 - Изменение цвета CPU_load, Mem_usage, Temp1, Temp2, Temp3
|
; 13..17 - Color Changing buttons CPU_load, Mem_usage, Temp1, Temp2, Temp3
|
||||||
|
|
||||||
include 'lang.inc'
|
include 'lang.inc'
|
||||||
include 'config.inc'
|
include 'config.inc'
|
||||||
@ -44,22 +44,22 @@ atcol equ 0x4070c0
|
|||||||
val_mod equ 0x3090
|
val_mod equ 0x3090
|
||||||
|
|
||||||
MEOS_APP_START
|
MEOS_APP_START
|
||||||
include "tests.inc" ; <-- Много выравниваний, лучше здесь
|
include "tests.inc" ; <-- Много выравниваний, лучше здесь
|
||||||
CODE
|
CODE
|
||||||
;--- Init ------------------------------------------------------------
|
;--- Init ------------------------------------------------------------
|
||||||
; Очищаем неинициализированные данные
|
; Очищаем неинициализированные данные
|
||||||
mov ecx, __memory - __udata
|
mov ecx, __memory - __udata
|
||||||
mov edi, __udata
|
mov edi, __udata
|
||||||
xor eax, eax
|
xor eax, eax
|
||||||
rep stosb
|
rep stosb
|
||||||
|
|
||||||
xor eax, eax
|
xor eax, eax
|
||||||
cpuid ; Узнаём производителя проца
|
cpuid ; Узнаём производителя проца
|
||||||
mov [Vendor + 0], ebx
|
mov [Vendor + 0], ebx
|
||||||
mov [Vendor + 4], edx
|
mov [Vendor + 4], edx
|
||||||
mov [Vendor + 8], ecx
|
mov [Vendor + 8], ecx
|
||||||
mov eax, 1
|
mov eax, 1
|
||||||
cpuid ; Есть ли MMX ?
|
cpuid ; Есть ли MMX ?
|
||||||
mov ecx, eax
|
mov ecx, eax
|
||||||
shr al, 4
|
shr al, 4
|
||||||
and ax, 0x0F0F
|
and ax, 0x0F0F
|
||||||
@ -72,26 +72,26 @@ CODE
|
|||||||
and cl, 11b
|
and cl, 11b
|
||||||
mov [CPU_type], cl
|
mov [CPU_type], cl
|
||||||
|
|
||||||
; ! Цвета из массива colors
|
; ! Цвета из массива colors
|
||||||
mov dword[d_cpu_load], 0xFF00 ; инициализируем график загрузки АЛУ
|
mov dword[d_cpu_load], 0xFF00 ; инициализируем график загрузки АЛУ
|
||||||
mov dword[d_mem_usage], 0x8BA169 ; -- mem usega
|
mov dword[d_mem_usage], 0x8BA169 ; -- mem usega
|
||||||
mov dword[d_temp1], 0xFF0000 ; -- график температуры ЦПУ
|
mov dword[d_temp1], 0xFF0000 ; -- график температуры ЦПУ
|
||||||
mov dword[d_temp2], 0xFF ; -- график температуры МП
|
mov dword[d_temp2], 0xFF ; -- график температуры МП
|
||||||
mov dword[d_temp3], 0xFF7E23
|
mov dword[d_temp3], 0xFF7E23
|
||||||
|
|
||||||
call hwm_init ; Инициализируем чип мониторинга
|
call hwm_init ; Initialize monitoring chip
|
||||||
|
|
||||||
jmp draw_window
|
jmp draw_window
|
||||||
;--- Wait & translate event ------------------------------------------
|
;--- Wait & translate event ------------------------------------------
|
||||||
wait_for_event:
|
wait_for_event:
|
||||||
mov byte[diag_add_v], 0 ; добавляем данные к графику только по таймеру
|
mov byte[diag_add_v], 0 ; добавляем данные к графику только по таймеру
|
||||||
mov ebx, [update_time]
|
mov ebx, [update_time]
|
||||||
mov eax, 23
|
mov eax, 23
|
||||||
int 0x40
|
int 0x40
|
||||||
test eax, eax
|
test eax, eax
|
||||||
jnz @f
|
jnz @f
|
||||||
inc byte [diag_add_v]
|
inc byte [diag_add_v]
|
||||||
inc eax ; перерисуем окно (eax := 1)
|
jmp redraw
|
||||||
@@: dec eax ; redraw request ?
|
@@: dec eax ; redraw request ?
|
||||||
jz draw_window
|
jz draw_window
|
||||||
dec eax ; key in buffer ?
|
dec eax ; key in buffer ?
|
||||||
@ -103,7 +103,7 @@ wait_for_event:
|
|||||||
key:
|
key:
|
||||||
mov eax, 2
|
mov eax, 2
|
||||||
int 0x40
|
int 0x40
|
||||||
cmp ah, 27 ; Esc - завершение работы
|
cmp ah, 27 ; Esc - shutdown
|
||||||
je exit
|
je exit
|
||||||
jmp wait_for_event
|
jmp wait_for_event
|
||||||
;--- Button down -----------------------------------------------------
|
;--- Button down -----------------------------------------------------
|
||||||
@ -118,25 +118,25 @@ exit: cmp byte[test_id], 0
|
|||||||
@@: mov eax, -1 ; close this program
|
@@: mov eax, -1 ; close this program
|
||||||
int 0x40
|
int 0x40
|
||||||
noexit:
|
noexit:
|
||||||
; кнопки вкладок (2 .. 5)
|
; button tabs (2 .. 5)
|
||||||
cmp ah, 5
|
cmp ah, 5
|
||||||
jg no_tabs
|
jg no_tabs
|
||||||
mov byte[act_tab], ah
|
mov byte[act_tab], ah
|
||||||
jmp draw_window
|
jmp redraw_tabs
|
||||||
no_tabs:
|
no_tabs:
|
||||||
; кнопки запуска тество (6 .. 10)
|
; кнопки запуска тество (6 .. 10)
|
||||||
cmp ah, 10
|
cmp ah, 10
|
||||||
jg no_test_bt
|
jg no_test_bt
|
||||||
; если нет запущеных тестов - запускаем выбранный
|
; если нет запущеных тестов - запускаем выбранный
|
||||||
cmp byte[test_id], 0
|
cmp byte[test_id], 0
|
||||||
je run_test
|
je run_test
|
||||||
; если кнопка активного теста - останавливаем тест, иначе ничего не делаем
|
; если кнопка активного теста - останавливаем тест, иначе ничего не делаем
|
||||||
cmp [test_id], ah
|
cmp [test_id], ah
|
||||||
jne wait_for_event
|
jne wait_for_event
|
||||||
call stop_test
|
call stop_test
|
||||||
jmp draw_window
|
jmp redraw_tabs
|
||||||
|
|
||||||
tsts: dd p5, p6, k6, k7
|
tsts: dd p5, p6, k6_, k7_
|
||||||
run_test:
|
run_test:
|
||||||
push eax
|
push eax
|
||||||
movzx ecx, ah
|
movzx ecx, ah
|
||||||
@ -146,41 +146,41 @@ rtst: mov eax, 51
|
|||||||
mov ebx, 1
|
mov ebx, 1
|
||||||
int 0x40
|
int 0x40
|
||||||
cmp eax, 0xFFFFFFF0 ; -16
|
cmp eax, 0xFFFFFFF0 ; -16
|
||||||
je wait_for_event ; <-- ошибка запуска теста, ПЕРЕПИСАТЬ
|
je wait_for_event ; <-- ошибка запуска теста, ПЕРЕПИСАТЬ
|
||||||
mov [test_pid], eax
|
mov [test_pid], eax
|
||||||
pop eax
|
pop eax
|
||||||
mov byte [test_id], ah
|
mov byte [test_id], ah
|
||||||
jmp draw_window
|
jmp redraw_tabs
|
||||||
;-------------------------
|
;-------------------------
|
||||||
; кнопки изменения времени обновления
|
; кнопки изменения времени обновления
|
||||||
no_test_bt:
|
no_test_bt:
|
||||||
cmp ah, 11
|
cmp ah, 11
|
||||||
jne no_ut_inc
|
jne no_ut_inc
|
||||||
add dword[update_time], 10
|
add dword[update_time], 10
|
||||||
jmp draw_window
|
jmp redraw_tabs
|
||||||
no_ut_inc:
|
no_ut_inc:
|
||||||
cmp ah, 12
|
cmp ah, 12
|
||||||
jne no_ut_dec
|
jne no_ut_dec
|
||||||
cmp dword[update_time], 10
|
cmp dword[update_time], 10
|
||||||
jng wait_for_event
|
jng wait_for_event
|
||||||
sub dword[update_time], 10
|
sub dword[update_time], 10
|
||||||
jmp draw_window
|
jmp redraw_tabs
|
||||||
no_ut_dec:
|
no_ut_dec:
|
||||||
;-------------------------
|
;-------------------------
|
||||||
; кнопки изменения цвета графиков (13..17)
|
; color change button schedules (13..17)
|
||||||
cmp ah, 17
|
cmp ah, 17
|
||||||
jg no_change_color
|
jg no_change_color
|
||||||
sub ah, 13
|
sub ah, 13
|
||||||
movzx ecx, ah
|
movzx ecx, ah
|
||||||
mov esi, [d_colors + ecx * 4]
|
mov esi, [d_colors + ecx * 4]
|
||||||
mov eax, [esi]
|
mov eax, [esi]
|
||||||
mov ecx, (colors_end - colors) / 4 ; количество цветов
|
mov ecx, (colors_end - colors) / 4 ; number of colors
|
||||||
@@: dec ecx
|
@@: dec ecx
|
||||||
cmp eax, [colors + ecx * 4]
|
cmp eax, [colors + ecx * 4]
|
||||||
jne @b
|
jne @b
|
||||||
mov ebx, [colors + ecx * 4 - 4]
|
mov ebx, [colors + ecx * 4 - 4]
|
||||||
mov [esi], ebx
|
mov [esi], ebx
|
||||||
jmp draw_window
|
jmp redraw_tabs
|
||||||
no_change_color:
|
no_change_color:
|
||||||
jmp wait_for_event
|
jmp wait_for_event
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
@ -188,19 +188,147 @@ draw_window:
|
|||||||
mov eax,12
|
mov eax,12
|
||||||
mov ebx,1
|
mov ebx,1
|
||||||
int 0x40
|
int 0x40
|
||||||
; Создаём окно
|
; Создаём окно
|
||||||
xor eax, eax
|
xor eax, eax
|
||||||
mov ebx, 300 * 65536 + 309
|
mov ebx, 300 * 65536 + 309
|
||||||
mov ecx, 150 * 65536 + 450
|
mov ecx, 150 * 65536 + 450
|
||||||
mov edx, tcol + 0x14000000 ; color of work area RRGGBB,8->color
|
mov edx, tcol + 0x14000000 ; color of work area RRGGBB,8->color
|
||||||
mov edi, title ; color of frames RRGGBB
|
mov edi, title ; color of frames RRGGBB
|
||||||
int 0x40
|
int 0x40
|
||||||
; Создаём рамку графика
|
; Create a graphic frame (not for graph)
|
||||||
mov eax, 13
|
mov eax, 13
|
||||||
mov ebx, 10 * 65536 + 290
|
mov ebx, 10 * 65536 + 290
|
||||||
mov ecx, 138 * 65536 + 105
|
mov ecx, 138 * 65536 + 105
|
||||||
mov edx, atcol
|
mov edx, atcol
|
||||||
int 0x40
|
int 0x40
|
||||||
|
|
||||||
|
; write parameter names (Cpu load, temper, etc ...)
|
||||||
|
mov edx, msgs_mon ; text for indicators
|
||||||
|
mov ebx, 17 * 65536 + 30
|
||||||
|
call show_text
|
||||||
|
|
||||||
|
mov edx, msgs_mon2
|
||||||
|
mov ebx, 166 * 65536 + 30
|
||||||
|
call show_text
|
||||||
|
|
||||||
|
jmp draw_tabs ; draw tabs for the first time
|
||||||
|
|
||||||
|
redraw_tabs: ; delete previously created tabs
|
||||||
|
|
||||||
|
mov ecx, 4
|
||||||
|
mov eax, 8
|
||||||
|
mov edx, 0x80000000 + 2
|
||||||
|
del_tabs:
|
||||||
|
int 0x40
|
||||||
|
inc edx
|
||||||
|
loop del_tabs
|
||||||
|
|
||||||
|
; Delete color change buttons
|
||||||
|
mov eax, 8
|
||||||
|
mov edx, 0x80000000 + 13
|
||||||
|
@@:
|
||||||
|
int 0x40
|
||||||
|
inc edx
|
||||||
|
cmp edx, 0x80000000 + 13 + 5 ; 5 (buttons)
|
||||||
|
jne @b
|
||||||
|
|
||||||
|
draw_tabs:
|
||||||
|
|
||||||
|
; Drawing color change buttons
|
||||||
|
mov eax, 8
|
||||||
|
mov ebx, 112 * 65536 + 5
|
||||||
|
mov ecx, 30 * 65536 + 6
|
||||||
|
mov edx, 13
|
||||||
|
|
||||||
|
@@:
|
||||||
|
mov esi, [d_colors - 13 * 4 + edx * 4]
|
||||||
|
mov esi, [esi]
|
||||||
|
int 0x40
|
||||||
|
add ecx, 10 * 65536
|
||||||
|
inc edx
|
||||||
|
cmp edx, 13 + 5 ; 5 (buttons)
|
||||||
|
jne @b
|
||||||
|
|
||||||
|
; info, test, config, about buttons
|
||||||
|
; Create 4 buttons
|
||||||
|
mov edi, 250 * 65536 + 25
|
||||||
|
mov ecx, 4
|
||||||
|
mov eax, 8
|
||||||
|
mov ebx, 10 * 65536 + 70
|
||||||
|
mov edx, 2
|
||||||
|
n_bt:
|
||||||
|
push ecx
|
||||||
|
mov ecx, edi
|
||||||
|
mov esi, tcol
|
||||||
|
cmp byte [act_tab], dl
|
||||||
|
jne na1
|
||||||
|
mov esi, atcol
|
||||||
|
na1:
|
||||||
|
int 0x40
|
||||||
|
inc edx
|
||||||
|
add ebx, 73 * 65536
|
||||||
|
pop ecx
|
||||||
|
loop n_bt
|
||||||
|
|
||||||
|
; write name tabs
|
||||||
|
mov eax, 4
|
||||||
|
mov ebx, (18 shl 16) + 256
|
||||||
|
mov edx, tab_lab
|
||||||
|
mov ecx, 0x10000000
|
||||||
|
mov esi, 4
|
||||||
|
int 0x40
|
||||||
|
add ebx, (72 shl 16)
|
||||||
|
mov edx, tab_lab.2
|
||||||
|
mov esi, 5
|
||||||
|
int 0x40
|
||||||
|
add ebx, (72 shl 16)
|
||||||
|
mov edx, tab_lab.3
|
||||||
|
mov esi, 7
|
||||||
|
int 0x40
|
||||||
|
add ebx, (72 shl 16)
|
||||||
|
mov edx, tab_lab.4
|
||||||
|
mov esi, 5
|
||||||
|
int 0x40
|
||||||
|
|
||||||
|
; create a frame at the bottom of the screen
|
||||||
|
mov eax, 13
|
||||||
|
mov ebx, 10 * 65536 + 290
|
||||||
|
mov ecx, 275 * 65536 + 160
|
||||||
|
mov edx, atcol
|
||||||
|
int 0x40
|
||||||
|
mov ebx, 12 * 65536 + 286
|
||||||
|
mov ecx, 277 * 65536 + 156
|
||||||
|
mov edx, tcol
|
||||||
|
int 0x40
|
||||||
|
|
||||||
|
; draw the selected tab
|
||||||
|
mov al, [act_tab]
|
||||||
|
cmp al, 2
|
||||||
|
je info_tab
|
||||||
|
cmp al, 3
|
||||||
|
je test_tab
|
||||||
|
cmp al, 4
|
||||||
|
je config_tab
|
||||||
|
jmp about_tab
|
||||||
|
|
||||||
|
;--- Drow Info tab ---------------
|
||||||
|
info_tab:
|
||||||
|
include "tab_info.inc"
|
||||||
|
;--- Drow test tab ---------------
|
||||||
|
test_tab:
|
||||||
|
include "tab_test.inc"
|
||||||
|
;--- Drow Config tab -------------
|
||||||
|
config_tab:
|
||||||
|
include "tab_conf.inc"
|
||||||
|
;--- Drow About tab --------------
|
||||||
|
about_tab:
|
||||||
|
include "tab_about.inc"
|
||||||
|
|
||||||
|
redraw:
|
||||||
|
|
||||||
|
; frame for graph
|
||||||
|
|
||||||
|
mov eax, 13
|
||||||
mov ebx, 12 * 65536 + 286
|
mov ebx, 12 * 65536 + 286
|
||||||
mov ecx, 140 * 65536 + 101
|
mov ecx, 140 * 65536 + 101
|
||||||
mov edx, tcol
|
mov edx, tcol
|
||||||
@ -211,48 +339,27 @@ draw_window:
|
|||||||
mov ecx, 140 * 65536 + 140
|
mov ecx, 140 * 65536 + 140
|
||||||
@@: add ecx, 10 * 65536 + 10
|
@@: add ecx, 10 * 65536 + 10
|
||||||
int 0x40
|
int 0x40
|
||||||
cmp cx, 230 ; привязано к координатам окна
|
cmp cx, 230 ; привязано к координатам окна
|
||||||
jl @b
|
jl @b
|
||||||
|
|
||||||
; Пишим названия параметров (Cpu load, temper, etc...)
|
; write CPU usage
|
||||||
mov edx, msgs_mon
|
call cpu_usage
|
||||||
mov ebx, 17 * 65536 + 30
|
;--- добавляем на график ---
|
||||||
call show_text
|
mov esi, d_cpu_load
|
||||||
|
call d_add
|
||||||
mov edx, msgs_mon2
|
call d_show
|
||||||
mov ebx, 156 * 65536 + 30
|
|
||||||
call show_text
|
|
||||||
|
|
||||||
; Рисуем кнопки смены цвета
|
|
||||||
mov eax, 8
|
|
||||||
mov ebx, 112 * 65536 + 5
|
|
||||||
mov ecx, 30 * 65536 + 6
|
|
||||||
mov edx, 13
|
|
||||||
@@: mov esi, [d_colors - 13 * 4 + edx * 4]
|
|
||||||
mov esi, [esi]
|
|
||||||
int 0x40
|
|
||||||
add ecx, 10 * 65536
|
|
||||||
inc edx
|
|
||||||
cmp edx, 13 + 5 ; 5 кнопок
|
|
||||||
jne @b
|
|
||||||
|
|
||||||
; Пишим загрузку процессора
|
|
||||||
call cpu_usage
|
|
||||||
;--- добавляем на график ---
|
|
||||||
mov esi, d_cpu_load
|
|
||||||
call d_add
|
|
||||||
call d_show
|
|
||||||
;---------------------------
|
;---------------------------
|
||||||
movzx ecx, al
|
movzx ecx, al
|
||||||
mov eax, 47
|
mov eax, 47
|
||||||
mov edx, 121 * 65536 + 30
|
mov edx, 121 * 65536 + 30
|
||||||
xor esi, esi
|
xor esi, esi
|
||||||
call digit_len
|
call digit_len
|
||||||
|
clear_prev_no edx
|
||||||
int 0x40
|
int 0x40
|
||||||
|
|
||||||
; Пишим используемую память
|
; write used memory
|
||||||
call mem_usage
|
call mem_usage
|
||||||
;--- добавляем на график ---
|
;--- добавляем на график ---
|
||||||
mov esi, d_mem_usage
|
mov esi, d_mem_usage
|
||||||
call d_add
|
call d_add
|
||||||
call d_show
|
call d_show
|
||||||
@ -262,12 +369,13 @@ draw_window:
|
|||||||
mov edx, 121 * 65536 + 40
|
mov edx, 121 * 65536 + 40
|
||||||
xor esi, esi
|
xor esi, esi
|
||||||
call digit_len
|
call digit_len
|
||||||
|
clear_prev_no edx
|
||||||
int 0x40
|
int 0x40
|
||||||
|
|
||||||
cmp byte[hwm_enable], 0
|
cmp byte[hwm_enable], 0
|
||||||
jne show_mon
|
jne show_mon
|
||||||
; Нет датчиков - пишем NO
|
; Нет датчиков - пишем NO
|
||||||
mov ecx, 8 ;<- количество параметров
|
mov ecx, 8 ;<- number of parameters
|
||||||
mov eax, 4
|
mov eax, 4
|
||||||
mov ebx, 121 * 65536 + 50
|
mov ebx, 121 * 65536 + 50
|
||||||
mov edx, msg_no
|
mov edx, msg_no
|
||||||
@ -276,7 +384,7 @@ draw_window:
|
|||||||
add ebx, 10
|
add ebx, 10
|
||||||
loop @b
|
loop @b
|
||||||
|
|
||||||
mov ecx, 7 ;<- количество параметров
|
mov ecx, 7 ;<- number of parameters
|
||||||
mov ebx, 260 * 65536 + 30
|
mov ebx, 260 * 65536 + 30
|
||||||
@@: int 0x40
|
@@: int 0x40
|
||||||
add ebx, 10
|
add ebx, 10
|
||||||
@ -284,10 +392,10 @@ draw_window:
|
|||||||
|
|
||||||
jmp no_monitor
|
jmp no_monitor
|
||||||
show_mon:
|
show_mon:
|
||||||
;Есть датчики пишим инфу
|
;Есть датчики пишим инфу
|
||||||
call hwm_get_params
|
call hwm_get_params
|
||||||
;---------------------------
|
;---------------------------
|
||||||
; Температуру
|
; Температуру
|
||||||
mov ecx, 3
|
mov ecx, 3
|
||||||
mov esi, hwm_temps
|
mov esi, hwm_temps
|
||||||
mov edx, 121 * 65536 + 50
|
mov edx, 121 * 65536 + 50
|
||||||
@ -295,7 +403,7 @@ show_mon:
|
|||||||
sh_temp:push ecx
|
sh_temp:push ecx
|
||||||
lodsw
|
lodsw
|
||||||
push esi
|
push esi
|
||||||
; реакция на изменения
|
; реакция на изменения
|
||||||
xor esi, esi
|
xor esi, esi
|
||||||
cmp [old_t1 + ecx * 4 - 4], eax
|
cmp [old_t1 + ecx * 4 - 4], eax
|
||||||
je @f
|
je @f
|
||||||
@ -305,6 +413,7 @@ sh_temp:push ecx
|
|||||||
push eax
|
push eax
|
||||||
mov eax, 47
|
mov eax, 47
|
||||||
mov ebx, 0x20000
|
mov ebx, 0x20000
|
||||||
|
clear_prev_no edx
|
||||||
int 0x40
|
int 0x40
|
||||||
pop eax
|
pop eax
|
||||||
mov cl, ah
|
mov cl, ah
|
||||||
@ -316,31 +425,31 @@ sh_temp:push ecx
|
|||||||
pop esi
|
pop esi
|
||||||
pop ecx
|
pop ecx
|
||||||
loop sh_temp
|
loop sh_temp
|
||||||
;;--- добавляем на график temp1 ---
|
;;--- Add to the chart temp1 ---
|
||||||
movzx eax, word[hwm_temps]
|
movzx eax, word[hwm_temps]
|
||||||
mov esi, d_temp1
|
mov esi, d_temp1
|
||||||
call d_add
|
call d_add
|
||||||
call d_show
|
call d_show
|
||||||
;;--- добавляем на график temp2 ---
|
;;--- Add to the chart temp2 ---
|
||||||
movzx eax, word[hwm_temps + 2]
|
movzx eax, word[hwm_temps + 2]
|
||||||
mov esi, d_temp2
|
mov esi, d_temp2
|
||||||
call d_add
|
call d_add
|
||||||
call d_show
|
call d_show
|
||||||
;;--- добавляем на график temp3 ---
|
;;--- Add to the chart temp3 ---
|
||||||
movzx eax, word[hwm_temps + 4]
|
movzx eax, word[hwm_temps + 4]
|
||||||
mov esi, d_temp3
|
mov esi, d_temp3
|
||||||
call d_add
|
call d_add
|
||||||
call d_show
|
call d_show
|
||||||
|
|
||||||
;---------------------------
|
;---------------------------
|
||||||
; Скорости врашения вентилей
|
; Скорости врашения вентилей
|
||||||
mov ecx, 5
|
mov ecx, 5
|
||||||
mov esi, hwm_rpms
|
mov esi, hwm_rpms
|
||||||
mov edx, 121 * 65536 + 80
|
mov edx, 121 * 65536 + 80
|
||||||
sh_fan: push ecx
|
sh_fan: push ecx
|
||||||
lodsd
|
lodsd
|
||||||
push esi
|
push esi
|
||||||
;реакция на изменения
|
;реакция на изменения
|
||||||
xor esi, esi
|
xor esi, esi
|
||||||
cmp [old_f1 + ecx * 4 - 4], eax
|
cmp [old_f1 + ecx * 4 - 4], eax
|
||||||
je @f
|
je @f
|
||||||
@ -349,6 +458,7 @@ sh_fan: push ecx
|
|||||||
@@: mov ecx, eax
|
@@: mov ecx, eax
|
||||||
call digit_len
|
call digit_len
|
||||||
mov eax, 47
|
mov eax, 47
|
||||||
|
clear_prev_no edx
|
||||||
int 0x40
|
int 0x40
|
||||||
add edx, 10
|
add edx, 10
|
||||||
pop esi
|
pop esi
|
||||||
@ -356,7 +466,7 @@ sh_fan: push ecx
|
|||||||
loop sh_fan
|
loop sh_fan
|
||||||
|
|
||||||
;---------------------------
|
;---------------------------
|
||||||
; Напруги
|
; Напруги
|
||||||
mov esi, hwm_voltages
|
mov esi, hwm_voltages
|
||||||
mov edi, old_volts
|
mov edi, old_volts
|
||||||
mov ecx, 7
|
mov ecx, 7
|
||||||
@ -366,7 +476,7 @@ volt_nxt:
|
|||||||
push ecx
|
push ecx
|
||||||
push esi
|
push esi
|
||||||
call ftoa
|
call ftoa
|
||||||
;реакция на изменения
|
;реакция на изменения
|
||||||
xor ecx, ecx
|
xor ecx, ecx
|
||||||
fld dword [esi]
|
fld dword [esi]
|
||||||
fsub dword [edi]
|
fsub dword [edi]
|
||||||
@ -381,7 +491,7 @@ volt_nxt:
|
|||||||
sahf
|
sahf
|
||||||
jc @f
|
jc @f
|
||||||
mov ecx, val_mod
|
mov ecx, val_mod
|
||||||
@@: mov esi, Data_String ; считаем кол-во символов
|
@@: mov esi, Data_String ; считаем кол-во символов
|
||||||
@@: lodsb
|
@@: lodsb
|
||||||
test al, al
|
test al, al
|
||||||
jnz @b
|
jnz @b
|
||||||
@ -397,78 +507,16 @@ volt_nxt:
|
|||||||
|
|
||||||
no_monitor:
|
no_monitor:
|
||||||
;---------------------------
|
;---------------------------
|
||||||
; Создаём кнопки вкладок
|
mov al, [act_tab] ; check if info tab is active
|
||||||
mov edi, 250 * 65536 + 25
|
|
||||||
mov ecx, 4
|
|
||||||
mov eax, 8
|
|
||||||
mov ebx, 10 * 65536 + 70
|
|
||||||
mov edx, 2
|
|
||||||
n_bt: push ecx
|
|
||||||
mov ecx, edi
|
|
||||||
mov esi, tcol
|
|
||||||
cmp byte [act_tab], dl
|
|
||||||
jne na1
|
|
||||||
mov esi, atcol
|
|
||||||
na1: int 0x40
|
|
||||||
inc edx
|
|
||||||
add ebx, 73 * 65536
|
|
||||||
pop ecx
|
|
||||||
loop n_bt
|
|
||||||
; Пишим названия вкладок
|
|
||||||
mov eax, 4
|
|
||||||
mov ebx, (18 shl 16) + 256
|
|
||||||
mov edx, tab_lab
|
|
||||||
mov ecx, 0x10000000
|
|
||||||
mov esi, 4
|
|
||||||
int 0x40
|
|
||||||
add ebx, (72 shl 16)
|
|
||||||
mov edx, tab_lab.2
|
|
||||||
mov esi, 5
|
|
||||||
int 0x40
|
|
||||||
add ebx, (72 shl 16)
|
|
||||||
mov edx, tab_lab.3
|
|
||||||
mov esi, 7
|
|
||||||
int 0x40
|
|
||||||
add ebx, (72 shl 16)
|
|
||||||
mov edx, tab_lab.4
|
|
||||||
mov esi, 5
|
|
||||||
int 0x40
|
|
||||||
; создаём рамку внизу экрана
|
|
||||||
mov eax, 13
|
|
||||||
mov ebx, 10 * 65536 + 290
|
|
||||||
mov ecx, 275 * 65536 + 160
|
|
||||||
mov edx, atcol
|
|
||||||
int 0x40
|
|
||||||
mov ebx, 12 * 65536 + 286
|
|
||||||
mov ecx, 277 * 65536 + 156
|
|
||||||
mov edx, tcol
|
|
||||||
int 0x40
|
|
||||||
; рисуем выбранную вкладку
|
|
||||||
mov al, [act_tab]
|
|
||||||
cmp al, 2
|
cmp al, 2
|
||||||
je info_tab
|
jne end_drow_tab
|
||||||
cmp al, 3
|
jmp free_mem ; in tab_info.inc
|
||||||
je test_tab
|
|
||||||
cmp al, 4
|
|
||||||
je config_tab
|
|
||||||
jmp about_tab
|
|
||||||
end_drow_tab:
|
end_drow_tab:
|
||||||
mov eax, 12
|
mov eax, 12
|
||||||
mov ebx, 2
|
mov ebx, 2
|
||||||
int 0x40
|
int 0x40
|
||||||
jmp wait_for_event
|
jmp wait_for_event
|
||||||
;--- Drow Info tab ---------------
|
|
||||||
info_tab:
|
|
||||||
include "tab_info.inc"
|
|
||||||
;--- Drow test tab ---------------
|
|
||||||
test_tab:
|
|
||||||
include "tab_test.inc"
|
|
||||||
;--- Drow Config tab -------------
|
|
||||||
config_tab:
|
|
||||||
include "tab_conf.inc"
|
|
||||||
;--- Drow About tab --------------
|
|
||||||
about_tab:
|
|
||||||
include "tab_about.inc"
|
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
include "system.inc"
|
include "system.inc"
|
||||||
include "hwm.inc"
|
include "hwm.inc"
|
||||||
@ -476,7 +524,7 @@ about_tab:
|
|||||||
|
|
||||||
|
|
||||||
DATA
|
DATA
|
||||||
act_tab db 2 ; Номер активной вкладки
|
act_tab db 2 ; active tab number
|
||||||
tab_lab:
|
tab_lab:
|
||||||
.1: db 'Info'
|
.1: db 'Info'
|
||||||
.2: db 'Tests'
|
.2: db 'Tests'
|
||||||
@ -508,19 +556,19 @@ msgs_mon2 mls \
|
|||||||
msg_yes db 'Yes'
|
msg_yes db 'Yes'
|
||||||
msg_no db 'N/A'
|
msg_no db 'N/A'
|
||||||
|
|
||||||
update_time dd 300 ; период обновления в сотых долях секунды
|
update_time dd 300 ; период обновления в сотых долях секунды
|
||||||
d_colors dd d_cpu_load, d_mem_usage, d_temp1, d_temp2, d_temp3
|
d_colors dd d_cpu_load, d_mem_usage, d_temp1, d_temp2, d_temp3
|
||||||
c_eps dd 0.01
|
c_eps dd 0.01
|
||||||
|
|
||||||
; Цвета графиков
|
; Цвета графиков
|
||||||
colors: dd 0xff0000, 0xff00, 0xff, 0xffffff, tcol, 0xFF7E23, 0x8BA169, 0xff0000 ; первый и последний равны
|
colors: dd 0xff0000, 0xff00, 0xff, 0xffffff, tcol, 0xFF7E23, 0x8BA169, 0xff0000 ; первый и последний равны
|
||||||
colors_end:
|
colors_end:
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
UDATA
|
UDATA
|
||||||
|
|
||||||
test_pid dd ? ; если test_id == 0 - не имеет смысла
|
test_pid dd ? ; если test_id == 0 - не имеет смысла
|
||||||
test_id db ? ; 0 - тест не запушен (соответствует № кнопки 6..10)
|
test_id db ? ; 0 - тест не запушен (соответствует № кнопки 6..10)
|
||||||
diag_add_v db ? ; 0 - не добавлять данные на график, !0 - добавлять
|
diag_add_v db ? ; 0 - не добавлять данные на график, !0 - добавлять
|
||||||
|
|
||||||
Vendor: times 12 db ?
|
Vendor: times 12 db ?
|
||||||
CPU_fam: db ?
|
CPU_fam: db ?
|
||||||
@ -528,8 +576,8 @@ CPU_mod: db ?
|
|||||||
CPU_type: db ?
|
CPU_type: db ?
|
||||||
CPU_mmx: db ?
|
CPU_mmx: db ?
|
||||||
|
|
||||||
; Для реакции на изменения
|
; Для реакции на изменения
|
||||||
old_t1: dd ? ; последнее значение temp1
|
old_t1: dd ? ; последнее значение temp1
|
||||||
old_t2: dd ? ; ...
|
old_t2: dd ? ; ...
|
||||||
old_t3: dd ?
|
old_t3: dd ?
|
||||||
old_f1: dd ?
|
old_f1: dd ?
|
||||||
@ -537,7 +585,7 @@ old_f2: dd ?
|
|||||||
old_f3: dd ?
|
old_f3: dd ?
|
||||||
old_volts: times 7 dd ?
|
old_volts: times 7 dd ?
|
||||||
|
|
||||||
; Грфики
|
; Грфики
|
||||||
diag_beg:
|
diag_beg:
|
||||||
d_cpu_load: dd ?
|
d_cpu_load: dd ?
|
||||||
times 286 db ?
|
times 286 db ?
|
||||||
@ -555,7 +603,7 @@ d_temp3: dd ?
|
|||||||
times 286 db ?
|
times 286 db ?
|
||||||
diag_end:
|
diag_end:
|
||||||
|
|
||||||
; --- стек теста, воизбежание глюков не переносить в другое место ----
|
; --- стек теста, воизбежание глюков не переносить в другое место ----
|
||||||
th_stack: times 1024 db ?
|
th_stack: times 1024 db ?
|
||||||
stp:
|
stp:
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
|
@ -335,6 +335,19 @@ macro mov arg1,arg2
|
|||||||
end if
|
end if
|
||||||
}
|
}
|
||||||
|
|
||||||
|
macro clear_prev_no arg1 ; clears previous number printed at arg1
|
||||||
|
{
|
||||||
|
pusha
|
||||||
|
mov ebx, 0x00070000
|
||||||
|
mov ecx, 1000000 ; dummy value
|
||||||
|
mov edx, arg1
|
||||||
|
mov esi, 0x40000000 + tcol
|
||||||
|
mov edi, tcol ; bg col
|
||||||
|
mov eax, 47
|
||||||
|
int 0x40
|
||||||
|
popa
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
struc POINT _t,_dx,_dy {
|
struc POINT _t,_dx,_dy {
|
||||||
.x _t _dx
|
.x _t _dx
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
;
|
;
|
||||||
; Ghost Monitor - утилита (стресс) тестирования и мониторинга системы
|
; Ghost Monitor - утилита (стресс) тестирования и мониторинга системы
|
||||||
; Copyright (C) 2005, 2006, 2007 Mihailov Ilia (ghost.nsk@mail.ru)
|
; Copyright (C) 2005, 2006, 2007 Mihailov Ilia (ghost.nsk@mail.ru)
|
||||||
; All Right Reserved
|
; All Right Reserved
|
||||||
|
|
||||||
@ -7,7 +7,7 @@
|
|||||||
mov edx, msg_about
|
mov edx, msg_about
|
||||||
mov ebx, 17 * 65536 + 285
|
mov ebx, 17 * 65536 + 285
|
||||||
call show_text
|
call show_text
|
||||||
jmp end_drow_tab
|
jmp redraw
|
||||||
|
|
||||||
if lang eq it
|
if lang eq it
|
||||||
msg_about mls \
|
msg_about mls \
|
||||||
@ -26,7 +26,7 @@ if lang eq it
|
|||||||
'',\
|
'',\
|
||||||
' *** Usare a prioprio rischio ***'
|
' *** Usare a prioprio rischio ***'
|
||||||
else
|
else
|
||||||
msg_about mls \ ; должна быть хотябы одна строка
|
msg_about mls \ ; должна быть хотябы одна строка
|
||||||
' Ghost Monitor',\
|
' Ghost Monitor',\
|
||||||
'',\
|
'',\
|
||||||
' tool for testing and monitoring hardware',\
|
' tool for testing and monitoring hardware',\
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
;
|
;
|
||||||
; Ghost Monitor - утилита (стресс) тестирования и мониторинга системы
|
; Ghost Monitor - утилита (стресс) тестирования и мониторинга системы
|
||||||
; Copyright (C) 2005, 2006, 2007 Mihailov Ilia (ghost.nsk@mail.ru)
|
; Copyright (C) 2005, 2006, 2007 Mihailov Ilia (ghost.nsk@mail.ru)
|
||||||
; All Right Reserved
|
; All Right Reserved
|
||||||
|
|
||||||
;
|
;
|
||||||
;
|
;
|
||||||
; Вкладка настроек
|
; Вкладка настроек
|
||||||
;
|
;
|
||||||
|
|
||||||
; Время обновления
|
; Время обновления
|
||||||
mov eax, 8
|
mov eax, 8
|
||||||
mov ebx, 200 * 65536 + 15
|
mov ebx, 200 * 65536 + 15
|
||||||
mov ecx, 280 * 65536 + 15
|
mov ecx, 280 * 65536 + 15
|
||||||
@ -40,7 +40,7 @@
|
|||||||
mov eax, 47
|
mov eax, 47
|
||||||
int 0x40
|
int 0x40
|
||||||
|
|
||||||
; Расставляем двоеточия
|
; Расставляем двоеточия
|
||||||
mov eax, 4
|
mov eax, 4
|
||||||
mov ebx, 152 * 65536 + 285
|
mov ebx, 152 * 65536 + 285
|
||||||
mov edx, dub_p
|
mov edx, dub_p
|
||||||
@ -48,7 +48,7 @@
|
|||||||
xor ecx, ecx
|
xor ecx, ecx
|
||||||
int 0x40
|
int 0x40
|
||||||
|
|
||||||
jmp end_drow_tab
|
jmp redraw
|
||||||
|
|
||||||
msg_cf_utime db 'Update time' ; 11
|
msg_cf_utime db 'Update time' ; 11
|
||||||
msg_cf_pm db '+ -' ; 4
|
msg_cf_pm db '+ -' ; 4
|
@ -1,27 +1,27 @@
|
|||||||
;
|
;
|
||||||
; Ghost Monitor - утилита (стресс) тестирования и мониторинга системы
|
; Ghost Monitor - утилита (стресс) тестирования и мониторинга системы
|
||||||
; Copyright (C) 2005, 2006, 2007 Mihailov Ilia (ghost.nsk@mail.ru)
|
; Copyright (C) 2005, 2006, 2007 Mihailov Ilia (ghost.nsk@mail.ru)
|
||||||
; All Right Reserved
|
; All Right Reserved
|
||||||
|
|
||||||
;
|
;
|
||||||
;
|
;
|
||||||
; Вкладка информации о системе
|
; Вкладка информации о системе
|
||||||
;
|
;
|
||||||
; Дописать ещё чтоить (маловато будет)
|
; Дописать ещё чтоить (маловато будет)
|
||||||
;
|
;
|
||||||
;
|
;
|
||||||
|
|
||||||
; Пишем параметры
|
; Пишем параметры
|
||||||
mov edx, lab_info_tab
|
mov edx, lab_info_tab
|
||||||
mov ebx, 17 * 65536 + 285
|
mov ebx, 17 * 65536 + 285
|
||||||
call show_text
|
call show_text
|
||||||
|
|
||||||
; Пишем производителя процессора
|
; Пишем производителя процессора
|
||||||
mov edx, Vendor
|
mov edx, Vendor
|
||||||
mov esi, 12
|
mov esi, 12
|
||||||
mov ebx, 160 * 65536 + 285
|
mov ebx, 160 * 65536 + 285
|
||||||
int 0x40
|
int 0x40
|
||||||
; Поддержка MMX
|
; Поддержка MMX
|
||||||
mov ebx, 160 * 65536 + 305
|
mov ebx, 160 * 65536 + 305
|
||||||
mov esi, 3
|
mov esi, 3
|
||||||
mov edx, msg_yes
|
mov edx, msg_yes
|
||||||
@ -29,13 +29,13 @@
|
|||||||
je mmx_en
|
je mmx_en
|
||||||
mov edx, msg_no
|
mov edx, msg_no
|
||||||
mmx_en: int 0x40
|
mmx_en: int 0x40
|
||||||
; Чип мониторинга
|
; Чип мониторинга
|
||||||
mov edx, [hwm_chip_name]
|
mov edx, [hwm_chip_name]
|
||||||
or ecx, 0x80000000
|
or ecx, 0x80000000
|
||||||
mov ebx, 160 * 65536 + 325
|
mov ebx, 160 * 65536 + 325
|
||||||
mov al, 4
|
mov al, 4
|
||||||
int 0x40
|
int 0x40
|
||||||
; Частота процессора
|
; Частота процессора
|
||||||
mov eax, 18
|
mov eax, 18
|
||||||
mov ebx, 5
|
mov ebx, 5
|
||||||
int 0x40
|
int 0x40
|
||||||
@ -50,7 +50,7 @@ mmx_en: int 0x40
|
|||||||
xor esi, esi
|
xor esi, esi
|
||||||
int 0x40
|
int 0x40
|
||||||
|
|
||||||
; push eax ; Вернуть код после исправления ftoa
|
; push eax ; Вернуть код после исправления ftoa
|
||||||
; fild dword[esp]
|
; fild dword[esp]
|
||||||
; push 1000;000
|
; push 1000;000
|
||||||
; fidiv dword[esp]
|
; fidiv dword[esp]
|
||||||
@ -67,7 +67,7 @@ mmx_en: int 0x40
|
|||||||
; pop eax
|
; pop eax
|
||||||
; pop eax
|
; pop eax
|
||||||
|
|
||||||
; Семейство и модель процессора
|
; Семейство и модель процессора
|
||||||
mov eax, 47
|
mov eax, 47
|
||||||
mov ebx, 0x10100
|
mov ebx, 0x10100
|
||||||
xor ecx, ecx
|
xor ecx, ecx
|
||||||
@ -79,7 +79,7 @@ mmx_en: int 0x40
|
|||||||
add edx, 10 * 65536
|
add edx, 10 * 65536
|
||||||
int 0x40
|
int 0x40
|
||||||
|
|
||||||
; коэффициент умножения
|
; коэффициент умножения
|
||||||
call multiplier
|
call multiplier
|
||||||
test ecx, ecx
|
test ecx, ecx
|
||||||
jz @f
|
jz @f
|
||||||
@ -100,7 +100,24 @@ mmx_en: int 0x40
|
|||||||
pop eax
|
pop eax
|
||||||
pop eax
|
pop eax
|
||||||
@@:
|
@@:
|
||||||
; Свободная память
|
|
||||||
|
; Расставляем двоеточия
|
||||||
|
mov eax, 4
|
||||||
|
mov ebx, 152 * 65536 + 285
|
||||||
|
mov edx, dub_p
|
||||||
|
mov esi, 1
|
||||||
|
mov ecx, 6 ; <- количество строк
|
||||||
|
nxt_dp: push ecx
|
||||||
|
xor ecx, ecx
|
||||||
|
int 0x40
|
||||||
|
add ebx, 10
|
||||||
|
pop ecx
|
||||||
|
loop nxt_dp
|
||||||
|
;---------------------------------------------------------------------
|
||||||
|
jmp redraw
|
||||||
|
|
||||||
|
free_mem:
|
||||||
|
; Свободная память
|
||||||
if (OS_version >= 0x0530)
|
if (OS_version >= 0x0530)
|
||||||
mov eax, 18
|
mov eax, 18
|
||||||
mov ebx, 16
|
mov ebx, 16
|
||||||
@ -110,23 +127,11 @@ if (OS_version >= 0x0530)
|
|||||||
mov eax, 47
|
mov eax, 47
|
||||||
mov edx, 160 * 65536 + 335
|
mov edx, 160 * 65536 + 335
|
||||||
xor esi, esi
|
xor esi, esi
|
||||||
|
clear_prev_no edx
|
||||||
int 0x40
|
int 0x40
|
||||||
end if
|
end if
|
||||||
|
jmp end_drow_tab
|
||||||
; Расставляем двоеточия
|
|
||||||
mov eax, 4
|
|
||||||
mov ebx, 152 * 65536 + 285
|
|
||||||
mov edx, dub_p
|
|
||||||
mov esi, 1
|
|
||||||
mov ecx, 6 ; <- количество строк
|
|
||||||
nxt_dp: push ecx
|
|
||||||
xor ecx, ecx
|
|
||||||
int 0x40
|
|
||||||
add ebx, 10
|
|
||||||
pop ecx
|
|
||||||
loop nxt_dp
|
|
||||||
;---------------------------------------------------------------------
|
|
||||||
jmp end_drow_tab
|
|
||||||
dub_p db ':'
|
dub_p db ':'
|
||||||
|
|
||||||
if lang eq it
|
if lang eq it
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
;
|
;
|
||||||
; Ghost Monitor - утилита (стресс) тестирования и мониторинга системы
|
; Ghost Monitor - утилита (стресс) тестирования и мониторинга системы
|
||||||
; Copyright (C) 2005, 2006, 2007 Mihailov Ilia (ghost.nsk@mail.ru)
|
; Copyright (C) 2005, 2006, 2007 Mihailov Ilia (ghost.nsk@mail.ru)
|
||||||
; All Right Reserved
|
; All Right Reserved
|
||||||
;
|
;
|
||||||
; Вкладка тестов
|
; Вкладка тестов
|
||||||
;
|
;
|
||||||
; "GenuineIntel" - International Electronics
|
; "GenuineIntel" - International Electronics
|
||||||
; "GenuineTMx86" - Transmeta Processor
|
; "GenuineTMx86" - Transmeta Processor
|
||||||
@ -59,7 +59,7 @@ k6n: int 0x40
|
|||||||
jne k7n
|
jne k7n
|
||||||
mov esi, atcol
|
mov esi, atcol
|
||||||
k7n: int 0x40
|
k7n: int 0x40
|
||||||
; Пишем названия кнопок
|
; Пишем названия кнопок
|
||||||
mov eax, 4
|
mov eax, 4
|
||||||
mov ebx, 30 * 65536 + 307
|
mov ebx, 30 * 65536 + 307
|
||||||
mov esi, 7
|
mov esi, 7
|
||||||
@ -110,7 +110,7 @@ nr4: int 0x40
|
|||||||
mov edx, atcol
|
mov edx, atcol
|
||||||
int 0x40
|
int 0x40
|
||||||
|
|
||||||
jmp end_drow_tab
|
jmp redraw
|
||||||
|
|
||||||
tmsg_p db 'Pentium (Pro/II/III)' ; 7/20
|
tmsg_p db 'Pentium (Pro/II/III)' ; 7/20
|
||||||
tmsg_k6 db 'K6 (I/II/III)' ; 13
|
tmsg_k6 db 'K6 (I/II/III)' ; 13
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
;
|
;
|
||||||
; Ghost Monitor - утилита (стресс) тестирования и мониторинга системы
|
; Ghost Monitor - утилита (стресс) тестирования и мониторинга системы
|
||||||
; Copyright (C) 2005, 2006, 2007 Mihailov Ilia (ghost.nsk@mail.ru)
|
; Copyright (C) 2005, 2006, 2007 Mihailov Ilia (ghost.nsk@mail.ru)
|
||||||
; All Right Reserved
|
; All Right Reserved
|
||||||
;
|
;
|
||||||
@ -9,10 +9,10 @@
|
|||||||
|
|
||||||
; adapted by Mihailov Ilia
|
; adapted by Mihailov Ilia
|
||||||
;
|
;
|
||||||
; Заметки :
|
; Заметки :
|
||||||
; переписть реакцию на ошибки
|
; переписть реакцию на ошибки
|
||||||
|
|
||||||
k6:
|
k6_:
|
||||||
finit
|
finit
|
||||||
push ebp
|
push ebp
|
||||||
mov ebp, esp
|
mov ebp, esp
|
||||||
@ -67,7 +67,7 @@ k6_int_exit:
|
|||||||
int 0x40
|
int 0x40
|
||||||
;#######################################################################
|
;#######################################################################
|
||||||
;#######################################################################
|
;#######################################################################
|
||||||
k7: finit
|
k7_: finit
|
||||||
mov ebp, esp
|
mov ebp, esp
|
||||||
and ebp,-32
|
and ebp,-32
|
||||||
sub esp,96
|
sub esp,96
|
||||||
|
Loading…
Reference in New Issue
Block a user