From 52fcf098d478f983f3dd85010a1cf75231d10494 Mon Sep 17 00:00:00 2001 From: nisargshah95 Date: Wed, 16 Mar 2016 19:35:22 +0000 Subject: [PATCH] fix gmon flickering issue git-svn-id: svn://kolibrios.org@6353 a494cfbc-eb01-0410-851d-a64ba20cac60 --- programs/system/gmon/gmon.asm | 380 ++++++++++++++++------------- programs/system/gmon/macros.inc | 13 + programs/system/gmon/tab_about.inc | 6 +- programs/system/gmon/tab_conf.inc | 10 +- programs/system/gmon/tab_info.inc | 59 +++-- programs/system/gmon/tab_test.inc | 8 +- programs/system/gmon/tests.inc | 10 +- 7 files changed, 276 insertions(+), 210 deletions(-) diff --git a/programs/system/gmon/gmon.asm b/programs/system/gmon/gmon.asm index 749e39a8cd..64a89f8f4f 100644 --- a/programs/system/gmon/gmon.asm +++ b/programs/system/gmon/gmon.asm @@ -1,26 +1,26 @@ ; -; Ghost Monitor - () +; Ghost Monitor - утилита (стресс) тестирования и мониторинга системы ; Copyright (C) 2005, 2006, 2007 Mihailov Ilia (ghost.nsk@mail.ru) ; All Right Reserved ; -; ! -; ! +; ВОЗМОЖНА ПОРЧА ОБОРУДОВАНИЯ! +; ИСПОЛЬЗУЙТЕ НА СВОЙ СТРАХ И РИСК! ; -; : -; (rtst) ( ) -; ( ) -; +; Заметки : +; Дописать запуск тестов (rtst) (нет реакции на ошибку запуска) +; Переделать обновление графика (сделать отдельным процессом) +; Добавить реакцию на параметры датчиков ; -; : -; hwm*.inc - -; system.inc - , , etc... -; tests.inc - ;-) -; diag.inc - -; tab_*.inc - +; Внешние файлы : +; hwm*.inc - процедуры работы с датчиками мониторинга +; system.inc - вычисление загрузки процессора, завершение теста, etc... +; tests.inc - тесты ;-) +; diag.inc - поддержка диаграм +; tab_*.inc - процедуры отрисовки соответствуюших вкладок -; : +; Identifier buttons : ; 01 - Exit ; 02 - Info tab ; 03 - Tests tab @@ -33,7 +33,7 @@ ; 10 - MMX test - not used (tab_test.inc) ; 11 - Update time increment (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 'config.inc' @@ -44,22 +44,22 @@ atcol equ 0x4070c0 val_mod equ 0x3090 MEOS_APP_START -include "tests.inc" ; <-- , +include "tests.inc" ; <-- Много выравниваний, лучше здесь CODE ;--- Init ------------------------------------------------------------ - ; + ; Очищаем неинициализированные данные mov ecx, __memory - __udata mov edi, __udata xor eax, eax rep stosb xor eax, eax - cpuid ; + cpuid ; Узнаём производителя проца mov [Vendor + 0], ebx mov [Vendor + 4], edx mov [Vendor + 8], ecx mov eax, 1 - cpuid ; MMX ? + cpuid ; Есть ли MMX ? mov ecx, eax shr al, 4 and ax, 0x0F0F @@ -72,26 +72,26 @@ CODE and cl, 11b mov [CPU_type], cl - ; ! colors - mov dword[d_cpu_load], 0xFF00 ; + ; ! Цвета из массива colors + mov dword[d_cpu_load], 0xFF00 ; инициализируем график загрузки АЛУ mov dword[d_mem_usage], 0x8BA169 ; -- mem usega - mov dword[d_temp1], 0xFF0000 ; -- - mov dword[d_temp2], 0xFF ; -- + mov dword[d_temp1], 0xFF0000 ; -- график температуры ЦПУ + mov dword[d_temp2], 0xFF ; -- график температуры МП mov dword[d_temp3], 0xFF7E23 - call hwm_init ; + call hwm_init ; Initialize monitoring chip jmp draw_window ;--- Wait & translate event ------------------------------------------ wait_for_event: - mov byte[diag_add_v], 0 ; + mov byte[diag_add_v], 0 ; добавляем данные к графику только по таймеру mov ebx, [update_time] mov eax, 23 int 0x40 test eax, eax jnz @f inc byte [diag_add_v] - inc eax ; (eax := 1) + jmp redraw @@: dec eax ; redraw request ? jz draw_window dec eax ; key in buffer ? @@ -103,7 +103,7 @@ wait_for_event: key: mov eax, 2 int 0x40 - cmp ah, 27 ; Esc - + cmp ah, 27 ; Esc - shutdown je exit jmp wait_for_event ;--- Button down ----------------------------------------------------- @@ -118,25 +118,25 @@ exit: cmp byte[test_id], 0 @@: mov eax, -1 ; close this program int 0x40 noexit: - ; (2 .. 5) + ; button tabs (2 .. 5) cmp ah, 5 jg no_tabs mov byte[act_tab], ah - jmp draw_window + jmp redraw_tabs no_tabs: - ; (6 .. 10) + ; кнопки запуска тество (6 .. 10) cmp ah, 10 jg no_test_bt - ; - + ; если нет запущеных тестов - запускаем выбранный cmp byte[test_id], 0 je run_test - ; - , + ; если кнопка активного теста - останавливаем тест, иначе ничего не делаем cmp [test_id], ah jne wait_for_event call stop_test - jmp draw_window + jmp redraw_tabs -tsts: dd p5, p6, k6, k7 +tsts: dd p5, p6, k6_, k7_ run_test: push eax movzx ecx, ah @@ -146,41 +146,41 @@ rtst: mov eax, 51 mov ebx, 1 int 0x40 cmp eax, 0xFFFFFFF0 ; -16 - je wait_for_event ; <-- , + je wait_for_event ; <-- ошибка запуска теста, ПЕРЕПИСАТЬ mov [test_pid], eax pop eax mov byte [test_id], ah - jmp draw_window + jmp redraw_tabs ;------------------------- - ; + ; кнопки изменения времени обновления no_test_bt: cmp ah, 11 jne no_ut_inc add dword[update_time], 10 - jmp draw_window + jmp redraw_tabs no_ut_inc: cmp ah, 12 jne no_ut_dec cmp dword[update_time], 10 jng wait_for_event sub dword[update_time], 10 - jmp draw_window + jmp redraw_tabs no_ut_dec: ;------------------------- - ; (13..17) + ; color change button schedules (13..17) cmp ah, 17 jg no_change_color sub ah, 13 movzx ecx, ah mov esi, [d_colors + ecx * 4] mov eax, [esi] - mov ecx, (colors_end - colors) / 4 ; + mov ecx, (colors_end - colors) / 4 ; number of colors @@: dec ecx cmp eax, [colors + ecx * 4] jne @b mov ebx, [colors + ecx * 4 - 4] mov [esi], ebx - jmp draw_window + jmp redraw_tabs no_change_color: jmp wait_for_event ;--------------------------------------------------------------------- @@ -188,19 +188,147 @@ draw_window: mov eax,12 mov ebx,1 int 0x40 - ; + ; Создаём окно xor eax, eax mov ebx, 300 * 65536 + 309 mov ecx, 150 * 65536 + 450 mov edx, tcol + 0x14000000 ; color of work area RRGGBB,8->color mov edi, title ; color of frames RRGGBB int 0x40 - ; + ; Create a graphic frame (not for graph) mov eax, 13 mov ebx, 10 * 65536 + 290 mov ecx, 138 * 65536 + 105 mov edx, atcol 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 ecx, 140 * 65536 + 101 mov edx, tcol @@ -211,48 +339,27 @@ draw_window: mov ecx, 140 * 65536 + 140 @@: add ecx, 10 * 65536 + 10 int 0x40 - cmp cx, 230 ; + cmp cx, 230 ; привязано к координатам окна jl @b - ; (Cpu load, temper, etc...) - mov edx, msgs_mon - mov ebx, 17 * 65536 + 30 - call show_text - - mov edx, msgs_mon2 - 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 + ; write CPU usage + call cpu_usage + ;--- добавляем на график --- + mov esi, d_cpu_load + call d_add + call d_show ;--------------------------- movzx ecx, al mov eax, 47 mov edx, 121 * 65536 + 30 xor esi, esi call digit_len + clear_prev_no edx int 0x40 - ; + ; write used memory call mem_usage - ;--- --- + ;--- добавляем на график --- mov esi, d_mem_usage call d_add call d_show @@ -262,12 +369,13 @@ draw_window: mov edx, 121 * 65536 + 40 xor esi, esi call digit_len + clear_prev_no edx int 0x40 cmp byte[hwm_enable], 0 jne show_mon - ; - NO - mov ecx, 8 ;<- + ; Нет датчиков - пишем NO + mov ecx, 8 ;<- number of parameters mov eax, 4 mov ebx, 121 * 65536 + 50 mov edx, msg_no @@ -276,7 +384,7 @@ draw_window: add ebx, 10 loop @b - mov ecx, 7 ;<- + mov ecx, 7 ;<- number of parameters mov ebx, 260 * 65536 + 30 @@: int 0x40 add ebx, 10 @@ -284,10 +392,10 @@ draw_window: jmp no_monitor show_mon: - ; + ;Есть датчики пишим инфу call hwm_get_params ;--------------------------- - ; + ; Температуру mov ecx, 3 mov esi, hwm_temps mov edx, 121 * 65536 + 50 @@ -295,7 +403,7 @@ show_mon: sh_temp:push ecx lodsw push esi - ; + ; реакция на изменения xor esi, esi cmp [old_t1 + ecx * 4 - 4], eax je @f @@ -305,6 +413,7 @@ sh_temp:push ecx push eax mov eax, 47 mov ebx, 0x20000 + clear_prev_no edx int 0x40 pop eax mov cl, ah @@ -316,31 +425,31 @@ sh_temp:push ecx pop esi pop ecx loop sh_temp - ;;--- temp1 --- + ;;--- Add to the chart temp1 --- movzx eax, word[hwm_temps] mov esi, d_temp1 call d_add call d_show - ;;--- temp2 --- + ;;--- Add to the chart temp2 --- movzx eax, word[hwm_temps + 2] mov esi, d_temp2 call d_add call d_show - ;;--- temp3 --- + ;;--- Add to the chart temp3 --- movzx eax, word[hwm_temps + 4] mov esi, d_temp3 call d_add call d_show ;--------------------------- - ; + ; Скорости врашения вентилей mov ecx, 5 mov esi, hwm_rpms mov edx, 121 * 65536 + 80 sh_fan: push ecx lodsd push esi - ; + ;реакция на изменения xor esi, esi cmp [old_f1 + ecx * 4 - 4], eax je @f @@ -349,6 +458,7 @@ sh_fan: push ecx @@: mov ecx, eax call digit_len mov eax, 47 + clear_prev_no edx int 0x40 add edx, 10 pop esi @@ -356,7 +466,7 @@ sh_fan: push ecx loop sh_fan ;--------------------------- - ; + ; Напруги mov esi, hwm_voltages mov edi, old_volts mov ecx, 7 @@ -366,7 +476,7 @@ volt_nxt: push ecx push esi call ftoa - ; + ;реакция на изменения xor ecx, ecx fld dword [esi] fsub dword [edi] @@ -381,7 +491,7 @@ volt_nxt: sahf jc @f mov ecx, val_mod -@@: mov esi, Data_String ; - +@@: mov esi, Data_String ; считаем кол-во символов @@: lodsb test al, al jnz @b @@ -397,78 +507,16 @@ volt_nxt: no_monitor: ;--------------------------- - ; - 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] + mov al, [act_tab] ; check if info tab is active cmp al, 2 - je info_tab - cmp al, 3 - je test_tab - cmp al, 4 - je config_tab - jmp about_tab + jne end_drow_tab + jmp free_mem ; in tab_info.inc + end_drow_tab: mov eax, 12 mov ebx, 2 int 0x40 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 "hwm.inc" @@ -476,7 +524,7 @@ about_tab: DATA -act_tab db 2 ; +act_tab db 2 ; active tab number tab_lab: .1: db 'Info' .2: db 'Tests' @@ -508,19 +556,19 @@ msgs_mon2 mls \ msg_yes db 'Yes' 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 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: ;--------------------------------------------------------------------- UDATA -test_pid dd ? ; test_id == 0 - -test_id db ? ; 0 - ( 6..10) -diag_add_v db ? ; 0 - , !0 - +test_pid dd ? ; если test_id == 0 - не имеет смысла +test_id db ? ; 0 - тест не запушен (соответствует № кнопки 6..10) +diag_add_v db ? ; 0 - не добавлять данные на график, !0 - добавлять Vendor: times 12 db ? CPU_fam: db ? @@ -528,8 +576,8 @@ CPU_mod: db ? CPU_type: db ? CPU_mmx: db ? -; -old_t1: dd ? ; temp1 +; Для реакции на изменения +old_t1: dd ? ; последнее значение temp1 old_t2: dd ? ; ... old_t3: dd ? old_f1: dd ? @@ -537,7 +585,7 @@ old_f2: dd ? old_f3: dd ? old_volts: times 7 dd ? -; +; Грфики diag_beg: d_cpu_load: dd ? times 286 db ? @@ -555,7 +603,7 @@ d_temp3: dd ? times 286 db ? diag_end: -; --- , ---- +; --- стек теста, воизбежание глюков не переносить в другое место ---- th_stack: times 1024 db ? stp: ;--------------------------------------------------------------------- diff --git a/programs/system/gmon/macros.inc b/programs/system/gmon/macros.inc index b8e6a61ab3..0f48129984 100644 --- a/programs/system/gmon/macros.inc +++ b/programs/system/gmon/macros.inc @@ -335,6 +335,19 @@ macro mov arg1,arg2 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 { .x _t _dx diff --git a/programs/system/gmon/tab_about.inc b/programs/system/gmon/tab_about.inc index 8df9dcab34..a5478adfd7 100644 --- a/programs/system/gmon/tab_about.inc +++ b/programs/system/gmon/tab_about.inc @@ -1,5 +1,5 @@ ; -; Ghost Monitor - () +; Ghost Monitor - утилита (стресс) тестирования и мониторинга системы ; Copyright (C) 2005, 2006, 2007 Mihailov Ilia (ghost.nsk@mail.ru) ; All Right Reserved @@ -7,7 +7,7 @@ mov edx, msg_about mov ebx, 17 * 65536 + 285 call show_text - jmp end_drow_tab + jmp redraw if lang eq it msg_about mls \ @@ -26,7 +26,7 @@ if lang eq it '',\ ' *** Usare a prioprio rischio ***' else - msg_about mls \ ; + msg_about mls \ ; должна быть хотябы одна строка ' Ghost Monitor',\ '',\ ' tool for testing and monitoring hardware',\ diff --git a/programs/system/gmon/tab_conf.inc b/programs/system/gmon/tab_conf.inc index 82ef4dce67..5cbf6e897f 100644 --- a/programs/system/gmon/tab_conf.inc +++ b/programs/system/gmon/tab_conf.inc @@ -1,14 +1,14 @@ ; -; Ghost Monitor - () +; Ghost Monitor - утилита (стресс) тестирования и мониторинга системы ; Copyright (C) 2005, 2006, 2007 Mihailov Ilia (ghost.nsk@mail.ru) ; All Right Reserved ; ; -; +; Вкладка настроек ; - ; + ; Время обновления mov eax, 8 mov ebx, 200 * 65536 + 15 mov ecx, 280 * 65536 + 15 @@ -40,7 +40,7 @@ mov eax, 47 int 0x40 - ; + ; Расставляем двоеточия mov eax, 4 mov ebx, 152 * 65536 + 285 mov edx, dub_p @@ -48,7 +48,7 @@ xor ecx, ecx int 0x40 - jmp end_drow_tab + jmp redraw msg_cf_utime db 'Update time' ; 11 msg_cf_pm db '+ -' ; 4 \ No newline at end of file diff --git a/programs/system/gmon/tab_info.inc b/programs/system/gmon/tab_info.inc index 03d5b86e24..faea64f414 100644 --- a/programs/system/gmon/tab_info.inc +++ b/programs/system/gmon/tab_info.inc @@ -1,27 +1,27 @@ ; -; Ghost Monitor - () +; Ghost Monitor - утилита (стресс) тестирования и мониторинга системы ; Copyright (C) 2005, 2006, 2007 Mihailov Ilia (ghost.nsk@mail.ru) ; All Right Reserved ; ; -; +; Вкладка информации о системе ; -; ( ) +; Дописать ещё чтоить (маловато будет) ; ; - ; + ; Пишем параметры mov edx, lab_info_tab mov ebx, 17 * 65536 + 285 call show_text - ; + ; Пишем производителя процессора mov edx, Vendor mov esi, 12 mov ebx, 160 * 65536 + 285 int 0x40 - ; MMX + ; Поддержка MMX mov ebx, 160 * 65536 + 305 mov esi, 3 mov edx, msg_yes @@ -29,13 +29,13 @@ je mmx_en mov edx, msg_no mmx_en: int 0x40 - ; + ; Чип мониторинга mov edx, [hwm_chip_name] or ecx, 0x80000000 mov ebx, 160 * 65536 + 325 mov al, 4 int 0x40 - ; + ; Частота процессора mov eax, 18 mov ebx, 5 int 0x40 @@ -50,7 +50,7 @@ mmx_en: int 0x40 xor esi, esi int 0x40 - ; push eax ; ftoa + ; push eax ; Вернуть код после исправления ftoa ; fild dword[esp] ; push 1000;000 ; fidiv dword[esp] @@ -67,7 +67,7 @@ mmx_en: int 0x40 ; pop eax ; pop eax - ; + ; Семейство и модель процессора mov eax, 47 mov ebx, 0x10100 xor ecx, ecx @@ -79,7 +79,7 @@ mmx_en: int 0x40 add edx, 10 * 65536 int 0x40 - ; + ; коэффициент умножения call multiplier test ecx, ecx jz @f @@ -100,7 +100,24 @@ mmx_en: int 0x40 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) mov eax, 18 mov ebx, 16 @@ -110,23 +127,11 @@ if (OS_version >= 0x0530) mov eax, 47 mov edx, 160 * 65536 + 335 xor esi, esi + clear_prev_no edx int 0x40 end if - - ; - 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 + jmp end_drow_tab + dub_p db ':' if lang eq it diff --git a/programs/system/gmon/tab_test.inc b/programs/system/gmon/tab_test.inc index 703868eab6..7c4ca97c94 100644 --- a/programs/system/gmon/tab_test.inc +++ b/programs/system/gmon/tab_test.inc @@ -1,9 +1,9 @@ ; -; Ghost Monitor - () +; Ghost Monitor - утилита (стресс) тестирования и мониторинга системы ; Copyright (C) 2005, 2006, 2007 Mihailov Ilia (ghost.nsk@mail.ru) ; All Right Reserved ; -; +; Вкладка тестов ; ; "GenuineIntel" - International Electronics ; "GenuineTMx86" - Transmeta Processor @@ -59,7 +59,7 @@ k6n: int 0x40 jne k7n mov esi, atcol k7n: int 0x40 - ; + ; Пишем названия кнопок mov eax, 4 mov ebx, 30 * 65536 + 307 mov esi, 7 @@ -110,7 +110,7 @@ nr4: int 0x40 mov edx, atcol int 0x40 - jmp end_drow_tab + jmp redraw tmsg_p db 'Pentium (Pro/II/III)' ; 7/20 tmsg_k6 db 'K6 (I/II/III)' ; 13 diff --git a/programs/system/gmon/tests.inc b/programs/system/gmon/tests.inc index 2bc489fb16..3d61846fbe 100644 --- a/programs/system/gmon/tests.inc +++ b/programs/system/gmon/tests.inc @@ -1,5 +1,5 @@ ; -; Ghost Monitor - () +; Ghost Monitor - утилита (стресс) тестирования и мониторинга системы ; Copyright (C) 2005, 2006, 2007 Mihailov Ilia (ghost.nsk@mail.ru) ; All Right Reserved ; @@ -9,10 +9,10 @@ ; adapted by Mihailov Ilia ; -; : -; +; Заметки : +; переписть реакцию на ошибки -k6: +k6_: finit push ebp mov ebp, esp @@ -67,7 +67,7 @@ k6_int_exit: int 0x40 ;####################################################################### ;####################################################################### -k7: finit +k7_: finit mov ebp, esp and ebp,-32 sub esp,96