Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.03.2009, 18:14   #1
ALEKS_STRELOK
 
Регистрация: 16.03.2009
Сообщений: 4
Восклицание определение типа ЦП и ОЗУ

У меня ужэ все сроки горят а очень надо сделать прогу по определению типа ЦП и объём ОЗУ, посоветуйте что нить или помогите наваять

Последний раз редактировалось ALEKS_STRELOK; 16.03.2009 в 18:41.
ALEKS_STRELOK вне форума Ответить с цитированием
Старый 16.03.2009, 18:26   #2
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

вывод имени процессора, FASM
Код:
format PE GUI 4.0
entry start

include 'win32a.inc'

section '.code' code readable writeable executable

message db  49 dup (0)
caption db 'processor name',0

start:
        mov edi, message
        mov eax, 80000002h
        cpuid
        mov [edi], eax
        add edi, 4
        mov [edi], ebx
        add edi, 4
        mov [edi], ecx
        add edi, 4
        mov [edi], edx
        add edi, 4
        mov eax, 80000003h
        cpuid
        mov [edi], eax
        add edi, 4
        mov [edi], ebx
        add edi, 4
        mov [edi], ecx
        add edi, 4
        mov [edi], edx
        add edi, 4
        mov eax, 80000004h
        cpuid
        mov [edi], eax
        add edi, 4
        mov [edi], ebx
        add edi, 4
        mov [edi], ecx
        add edi, 4
        mov [edi], edx

      push 0
      push caption
      push message
      push 0
      call [MessageBox]

      push 0
      call      [ExitProcess]

section '.relocs' data readable writeable fixups

section '.idata' import data readable writeable

  library kernel,'KERNEL32.DLL',\
          user,'USER32.DLL'

  import kernel,\
         ExitProcess,'ExitProcess'

  import user,\
         MessageBox,'MessageBoxA'
rpy3uH вне форума Ответить с цитированием
Старый 17.03.2009, 20:01   #3
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

дял получения размера физической памяти есть функция GlobalMemoryStatus, поле dwTotalPhys
rpy3uH вне форума Ответить с цитированием
Старый 01.04.2009, 05:22   #4
Ivan_32
somewhere else
Участник клуба
 
Аватар для Ivan_32
 
Регистрация: 17.07.2008
Сообщений: 1,409
По умолчанию

Добавлю только то что, остальные параметры определяются с помощью той же CPUID. Вот мой кривой вариант как узнать частоту процессора:
Код:
        rdtsc
	mov [timerLo],eax
	mov [timerHi],edx
	invoke Sleep,100
	rdtsc
	sub eax,[timerLo]
	sbb edx,[timerHi]
	mov ecx,10
	mul ecx
	mov [timerLo], eax
        mov [timerHi], edx
В TimerLo будет как раз частота процессора, не слишком точно, но зато не слишком сложно
Если частота процессора будет больше 4 ггц то формула соответственно будет
timerHi*2^32 + timerLo
"Тяжело в учении, легко в бою" - А.В. Суворов

Последний раз редактировалось Ivan_32; 01.04.2009 в 09:49.
Ivan_32 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Определение типа видеокарты (TASM) -danger- Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 8 24.03.2011 06:13
Определение типа переменной Игорь007 Общие вопросы C/C++ 7 10.01.2009 13:01
Определение типа курсора в сторонних приложениях. lazutov Win Api 1 11.09.2008 20:59
Загрузка ОЗУ HelloZAPOR Общие вопросы Delphi 2 20.07.2007 18:40