Hi,
The mainboard is ASUS B75M-PLUS, CPU: I5-2550K, OS: WINDOWS XP - SP3 (32bit), The CPU-Z / AIDA64 can show correct CPU MODEL: i5-2550k, but CORETEMP 1.17.1 (32bit) showed incorrect MODEL : i5-2600K, Pls kindly help to revise this bug. thanks.
incorrect CPU model for I5-2550K
incorrect CPU model for I5-2550K
You do not have the required permissions to view the files attached to this post.
Re: incorrect CPU model for I5-2550K
Dear,
The Delphi code below is for retrieving CPU name, I tried and it can work normally, just for you reference. thanks.
type
TRegisters = record
EAX: DWORD;
EBX: DWORD;
ECX: DWORD;
EDX: DWORD;
end;
procedure GetCPUID(Param: Cardinal; var Registers: TRegisters);
asm
PUSH EBX { save affected registers }
PUSH EDI
MOV EDI, Registers
XOR EBX, EBX { clear EBX register }
XOR ECX, ECX { clear ECX register }
XOR EDX, EDX { clear EDX register }
DB $0F, $A2 { CPUID opcode }
MOV TRegisters(EDI).&EAX, EAX { save EAX register }
MOV TRegisters(EDI).&EBX, EBX { save EBX register }
MOV TRegisters(EDI).&ECX, ECX { save ECX register }
MOV TRegisters(EDI).&EDX, EDX { save EDX register }
POP EDI { restore registers }
POP EBX
end;
function GetCpuName: String;
var
regs : TRegisters;
processor_name: array [0 .. 48] of AnsiChar;
III : Integer;
TTT : Cardinal;
begin
for III := 2 to 4 do
begin
TTT := 1 shl 31 + III;
GetCPUID(TTT, regs);
Move(regs.EAX, processor_name[(III - 2) * 16 + 00], 4);
Move(regs.EBX, processor_name[(III - 2) * 16 + 04], 4);
Move(regs.ECX, processor_name[(III - 2) * 16 + 08], 4);
Move(regs.EDX, processor_name[(III - 2) * 16 + 12], 4);
end;
processor_name[48] := #0;
Result := string(AnsiString(processor_name));
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
showmessage(GetCpuName);
end;
The Delphi code below is for retrieving CPU name, I tried and it can work normally, just for you reference. thanks.
type
TRegisters = record
EAX: DWORD;
EBX: DWORD;
ECX: DWORD;
EDX: DWORD;
end;
procedure GetCPUID(Param: Cardinal; var Registers: TRegisters);
asm
PUSH EBX { save affected registers }
PUSH EDI
MOV EDI, Registers
XOR EBX, EBX { clear EBX register }
XOR ECX, ECX { clear ECX register }
XOR EDX, EDX { clear EDX register }
DB $0F, $A2 { CPUID opcode }
MOV TRegisters(EDI).&EAX, EAX { save EAX register }
MOV TRegisters(EDI).&EBX, EBX { save EBX register }
MOV TRegisters(EDI).&ECX, ECX { save ECX register }
MOV TRegisters(EDI).&EDX, EDX { save EDX register }
POP EDI { restore registers }
POP EBX
end;
function GetCpuName: String;
var
regs : TRegisters;
processor_name: array [0 .. 48] of AnsiChar;
III : Integer;
TTT : Cardinal;
begin
for III := 2 to 4 do
begin
TTT := 1 shl 31 + III;
GetCPUID(TTT, regs);
Move(regs.EAX, processor_name[(III - 2) * 16 + 00], 4);
Move(regs.EBX, processor_name[(III - 2) * 16 + 04], 4);
Move(regs.ECX, processor_name[(III - 2) * 16 + 08], 4);
Move(regs.EDX, processor_name[(III - 2) * 16 + 12], 4);
end;
processor_name[48] := #0;
Result := string(AnsiString(processor_name));
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
showmessage(GetCpuName);
end;
Re: incorrect CPU model for I5-2550K
I found this bug existed in program several years ago. pls view attached image. thanks.
You do not have the required permissions to view the files attached to this post.