Форум программистов, компьютерный форум, киберфорум
Наши страницы

Assembler для начинающих

Войти
Регистрация
Восстановить пароль
 
Шульпин
0 / 0 / 0
Регистрация: 10.06.2014
Сообщений: 10
#1

Команда CPUID - Assembler

04.06.2015, 13:53. Просмотров 861. Ответов 1
Метки нет (Все метки)

Задали задание найти параметры процессора через команду CPUID, все нашел как я думал,но на процессоре Intel(у меня AMD), стал не правильно выводится кэш первого и третьего уровня,в чем проблема?
Пишу в vs2008 ассемблерными вставками в си.
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
_asm //Cache1
    {
    mov eax, 0x80000005
    cpuid
 
    shr ecx, 24 
    mov CacheLevel1, ecx
    }   
_asm //Cache2
    {
    mov eax, 0x80000006
    cpuid
 
    shr ecx, 16 
    mov CacheLevel2, ecx
    }   
_asm //Cache3
    {
    mov eax, 0x80000006
    cpuid
    shr ecx, 18 
    mov CacheLevel3, ecx
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.06.2015, 13:53
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Команда CPUID (Assembler):

инструкция cpuid - Assembler
как с помощью это инструкции получить полное название модели процессора(например,intel core i7-920)! Дайте,пожалуйста,рабочий код.Спасибо!

Не работает CPUID - Assembler
Почему может не поддерживаться CPUID? Использую TASM. Проверяю поддержку CPUID, получается что мой процессор не поддерживает эту команду....

Определить наличие математического сопроцессора (с использованием cpuid) - Assembler
Помогите написать программу определяющая наличие математического сопроцессора с использованием CPUID ((((( код CPUID - db 0Fh, 0A2h ...

Получение системной информации через использование команды CPUID - Assembler
Добрый день, очень нужна помощь с задачей: Получение системной информации через использование команды CPUID. Требуется решение на masm32....

Как определить семейство процессора, используя команду cpuid? - Assembler
Здравствуйте! Очень нужна ваша помощь. Как написать ассемблерную вставку для dll библиотеки в C++ для получения семейства процессора?

CPUID - Assembler
Доброго времени суток! Я сейчас делаю лабораторную работу, где нужно вывести информацию о процессоре. По-сути, ничего трудного нет, но...

1
maxillion
273 / 183 / 38
Регистрация: 25.12.2012
Сообщений: 616
04.06.2015, 17:52 #2
Для процессоров Intel с80000005H - зарезервирован и должен возвращать нули. Нужно находить через EAX = 02H, в (Intel® 64 and IA-32 Architectures Software Developer’s Manual Volume 2A), есть таблица Table 3-21 и рядом описания к ней, по этой таблицы находим значения cache.

Добавлено через 11 минут
Для cpuid в vs2008 есть спец. функции.
C++
1
2
3
4
5
6
7
8
9
10
11
#include "stdafx.h"
#include <intrin.h>
#include <Windows.h>
 
int _tmain(int argc, _TCHAR* argv[])
{   
    DWORD buff[4];  
    __cpuid((int*)buff,0x80000006);
    printf("%d \n", buff[2]>>16);
    return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.06.2015, 17:52
Привет! Вот еще темы с ответами:

Данные о процессоре (CPUID) - Assembler
Я работаю на fasm. Препод говорил делать через асемблерную вставочку на с++. но в с++ происходит ошибка доступа, поэтому я пытаюсь сделать...

Обработка прерывания "ошибочная команда" или "неверная команда" - Assembler
Привет форумчани! Очень нужна ваша помощь... Нужно написать программу, которая будит сообщать о том, что в задаче используется неверная...

Команда JS - Assembler
Команда JS означает переход по отрицательной разности, а что означает когда добавляют например JS 001 или JS 010 ?

команда loop - Assembler
Какое число вставить вместо вопроса? mov ecx, 0 start_loop: ; the code here would be executed ? times loop start_loop


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru