Доброго времени суток!
в умной книге написано что такой код
mov eax, 0b
cpuid
должен вернуть в регистры EBX:ECX:EDX производителя вычислятора, однако если сделать так:
[сcode]
char* id[13];
__asm {
mov eax, 0b
cpuid //у меня P III
mov [id], ebx //здесь должно скопироваться "Genu"
mov 4[id], ecx //здесь "ineI"
mov 8[id], edx //здесь "ntel"
mov 12[id], 0b // "GenuineIntel"
}
cout << "vendor: " << LPCTSTR(id) << endl;
[/сcode]
то на экране оказывается
vendor: Genu:ntel:ineI ( двоеточия для красоты )
у меня что процессор регистры путает?
И ещё я не понял, в MSDN действительно нет описания комманд ассемблера??
посоветуйте где посмотреть, надоело книгу листать..