This commit is contained in:
Pavel 2025-01-24 23:47:29 +03:00
parent 7d1f630189
commit de6b393f61
2 changed files with 23 additions and 11 deletions

View File

@ -602,28 +602,32 @@ begin
Assert(False);
end;
//cpuid(0x0) :eax=0xd ebx=0x68747541 ecx=0x444d4163 edx=0x69746e65
//cpuid(0x1) :eax=0x710f31 ebx=0x7080800 ecx=0x3ed8220b edx=0x178bfbff
//0x4
//cpuid(0x00000000,0x0):eax=0x0000000d ebx=0x68747541 ecx=0x444d4163 edx=0x69746e65
//cpuid(0x00000001,0x0):eax=0x00710f31 ebx=0x07080800 ecx=0x3ed8220b edx=0x178bfbff
//0x6
//cpuid(0x7) :eax=0x0 ebx=0x0 ecx=0x0 edx=0x0
//cpuid(0x00000007,0x0):eax=0x00000000 ebx=0x00000008 ecx=0x00000000 edx=0x00000000
//cpuid(0x00000007,0x1):eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
//cpuid(0x00000007,0x2):eax=0x00000000 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
//0xb
//0x40000000
//0x40000010
//cpuid(0x80000000):eax=0x8000001e ebx=0x68747541 ecx=0x444d4163 edx=0x69746e65
//cpuid(0x80000001):eax=0x00710f31 ebx=0x00000000 ecx=0x154837ff edx=0x2fd3fbff
//cpuid(0x80000002):eax=0x31314744 ebx=0x4b533130 ecx=0x48343846 edx=0x20202056
//cpuid(0x80000003):eax=0x20202020 ebx=0x20202020 ecx=0x20202020 edx=0x20202020
//cpuid(0x80000004):eax=0x20202020 ebx=0x20202020 ecx=0x20202020 edx=0x00202020
//cpuid(0x80000000,0x0):eax=0x8000001e ebx=0x68747541 ecx=0x444d4163 edx=0x69746e65
//cpuid(0x80000001,0x0):eax=0x00710f31 ebx=0x00000000 ecx=0x154837ff edx=0x2fd3fbff
//cpuid(0x80000002,0x0):eax=0x31314744 ebx=0x4b533130 ecx=0x48343846 edx=0x20202056
//cpuid(0x80000003,0x0):eax=0x20202020 ebx=0x20202020 ecx=0x20202020 edx=0x20202020
//cpuid(0x80000004,0x0):eax=0x20202020 ebx=0x20202020 ecx=0x20202020 edx=0x00202020
//0x80000005
//0x80000006
//cpuid(0x80000008):eax=0x00003028 ebx=0x00000000 ecx=0x3007 edx=0x00000000
//cpuid(0x80000008,0x0):eax=0x00003028 ebx=0x00000000 ecx=0x00003007 edx=0x00000000
//0xc0000000
//0xc0000001
procedure jit_cpuid; assembler; nostackframe;
label
_cpuid_0,
@ -723,11 +727,16 @@ asm
_cpuid_7:
test %ecx,%ecx //set bits if ecx=0
mov $0x0,%eax
mov $0x0,%ebx
mov $0x0,%edx
mov $0x0,%ecx
mov $0x8,%r15d
cmove %r15d,%ebx //if ecx=0 {ebx=8}
jmp _exit
_cpuid_80000000:

View File

@ -117,11 +117,12 @@ begin
obj^.desc.free:=@namedobj_free;
obj^.objt:=Word(objt) or NAMED_OBJT;
obj^.name:=name;
obj^.name:=_name;
obj^.objp:=objp;
namedobj_add(obj);
key:=0;
if not id_name_new(@named_table,obj,@key) then
begin
namedobj_free(obj);
@ -132,6 +133,8 @@ begin
td^.td_retval[0]:=key;
Writeln('namedobj_create("',_name,'"):',key);
Result:=0;
end;