News:

MASM32 SDK Description, downloads and other helpful links
MASM32.com New Forum Link
masmforum WebSite

Rewritten CPUID algo for testing instruction sets.

Started by hutch--, May 01, 2010, 02:04:38 PM

Previous topic - Next topic

Ficko

Thanks it looks good at the first glance :U

"AMD Athlon"

Quote
-----
INTEL
-----
0 sse4.2
0 sse4.1
0 ssse3
0 sse3
0 sse2
0 sse
1 mmx

---
AMD
---
0 sse4a
1 mmx_ex
1 3DNow
1 3DNow_ex

and

"AMD Athlon 64 3500+"

Quote
-----
INTEL
-----
0 sse4.2
0 sse4.1
0 ssse3
1 sse3
1 sse2
1 sse
1 mmx

---
AMD
---
0 sse4a
1 mmx_ex
1 3DNow
1 3DNow_ex

hutch--

Gratsie,

May have struck a winner with it.

Now I wonder if anyone is running a later Phenom II. A 955 or 965 BE ?
Download site for MASM32      New MASM Forum
https://masm32.com          https://masm32.com/board/index.php

oex

Sempron, not what you requested but your results are coming back correctly for me now

-----
INTEL
-----
0 sse4.2
0 sse4.1
0 ssse3
1 sse3
1 sse2
1 sse
1 mmx

---
AMD
---
0 sse4a
1 mmx_ex
1 3DNow
1 3DNow_ex
We are all of us insane, just to varying degrees and intelligently balanced through networking

http://www.hereford.tv

clive

AMD Athlon 64 3200+ (NewCastle)

-----
INTEL
-----
0 sse4.2
0 sse4.1
0 ssse3
0 sse3
1 sse2
1 sse
1 mmx

---
AMD
---
0 sse4a
1 mmx_ex
1 3DNow
1 3DNow_ex


For debugging, a tool which captures the CPUID return values for the 00000xxx and 80000xxx ranges might permit you record/playback and basically emulate of CPUID for testing purposes. CPU-Z puts this data, and some MSR's into its text log

CPUID
0x00000000 0x00000001 0x68747541 0x444D4163 0x69746E65
0x00000001 0x00000FF0 0x00000800 0x00000000 0x078BFBFF
0x80000000 0x80000018 0x68747541 0x444D4163 0x69746E65
0x80000001 0x00000FF0 0x0000010A 0x00000000 0xE1D3FBFF
0x80000002 0x20444D41 0x6C687441 0x74286E6F 0x3620296D
0x80000003 0x72502034 0x7365636F 0x20726F73 0x30303233
0x80000004 0x0000002B 0x00000000 0x00000000 0x00000000
0x80000005 0xFF08FF08 0xFF20FF20 0x40020140 0x40020140
0x80000006 0x00000000 0x42004200 0x02008140 0x00000000
0x80000007 0x00000000 0x00000000 0x00000000 0x0000000F
0x80000008 0x00003028 0x00000000 0x00000000 0x00000000
0x80000009 0x00000000 0x00000000 0x00000000 0x00000000
0x8000000A 0x00000000 0x00000000 0x00000000 0x00000000
0x8000000B 0x00000000 0x00000000 0x00000000 0x00000000
0x8000000C 0x00000000 0x00000000 0x00000000 0x00000000
0x8000000D 0x00000000 0x00000000 0x00000000 0x00000000
0x8000000E 0x00000000 0x00000000 0x00000000 0x00000000
0x8000000F 0x00000000 0x00000000 0x00000000 0x00000000
0x80000010 0x00000000 0x00000000 0x00000000 0x00000000
0x80000011 0x00000000 0x00000000 0x00000000 0x00000000
0x80000012 0x00000000 0x00000000 0x00000000 0x00000000
0x80000013 0x00000000 0x00000000 0x00000000 0x00000000
0x80000014 0x00000000 0x00000000 0x00000000 0x00000000
0x80000015 0x00000000 0x00000000 0x00000000 0x00000000
0x80000016 0x00000000 0x00000000 0x00000000 0x00000000
0x80000017 0x00000000 0x00000000 0x00000000 0x00000000
0x80000018 0x00000000 0x00000000 0x00000000 0x00000000

MSR 0x0000001B 0x00000000 0xFEE00900
MSR 0xC001001E 0x00000000 0x00000006
MSR 0xC0010015 0x00000000 0x0C000000
MSR 0xC0010042 0x00000202 0x000C0C0C
MSR 0xC0010041 0x00000001 0x0000020C
It could be a random act of randomness. Those happen a lot as well.

dedndave

that would be great if we had such a file for all the processors
which, the guys at cpu-z have probably collected over time
they aren't going to give that database away for free
they want to sell you a library to ID CPU's in apps
which i think is kinda cheesy - lol
they'd be better off to give the library away and sell more website advertising space, and/or for more money

EDIT
the reason i say that is, most application authors who really need such a library are capable of writing their own
to be full-featured, a kmd is required to access MSR's and CR's
i found such a library for free, but i wanted to learn to write my own

clive

Ok, here's a quick throw away app in C. It collects the CPUID data, outputs a human readable version and a MASM pasteable block of data. It also generates a CPUIDEMU.ASM file with the data and an emulation function.

Here's the data for a Prescott P4

index      eax      ebx      ecx      edx
00000000 - 00000005 756E6547 6C65746E 49656E69 - ....GenuntelineI
00000001 - 00000F34 00020800 0000441D BFEBFBFF - 4........D......
00000002 - 605B5001 00000000 00000000 007C7040 - .P[`........@p|.
00000003 - 00000000 00000000 00000000 00000000 - ................
00000004 - 00000000 00000000 00000000 00000000 - ................
00000005 - 00000040 00000040 00000000 00000000 - @...@...........

80000000 - 80000008 00000000 00000000 00000000 - ................
80000001 - 00000000 00000000 00000000 00000000 - ................
80000002 - 20202020 20202020 20202020 6E492020 -               In
80000003 - 286C6574 50202952 69746E65 52286D75 - tel(R) Pentium(R
80000004 - 20342029 20555043 30302E33 007A4847 - ) 4 CPU 3.00GHz.
80000005 - 00000000 00000000 00000000 00000000 - ................
80000006 - 00000000 00000000 04006040 00000000 - ........@`......
80000007 - 00000000 00000000 00000000 00000000 - ................
80000008 - 00002024 00000000 00000000 00000000 - $ ..............

Press any key to continue..
EmuTable        equ     $
        dd      000000000h,000000005h,0756E6547h,06C65746Eh,049656E69h
        dd      000000001h,000000F34h,001020800h,00000441Dh,0BFEBFBFFh
        dd      000000002h,0605B5001h,000000000h,000000000h,0007C7040h
        dd      000000003h,000000000h,000000000h,000000000h,000000000h
        dd      000000004h,000000000h,000000000h,000000000h,000000000h
        dd      000000005h,000000040h,000000040h,000000000h,000000000h
        dd      080000000h,080000008h,000000000h,000000000h,000000000h
        dd      080000001h,000000000h,000000000h,000000000h,000000000h
        dd      080000002h,020202020h,020202020h,020202020h,06E492020h
        dd      080000003h,0286C6574h,050202952h,069746E65h,052286D75h
        dd      080000004h,020342029h,020555043h,030302E33h,0007A4847h
        dd      080000005h,000000000h,000000000h,000000000h,000000000h
        dd      080000006h,000000000h,000000000h,004006040h,000000000h
        dd      080000007h,000000000h,000000000h,000000000h,000000000h
        dd      080000008h,000002024h,000000000h,000000000h,000000000h
        dd      0FFFFFFFFh

Press any key to continue..


CPUIDEMU.ASM file generated by the program

.386

.MODEL FLAT,C

.DATA

EmuTable equ $
dd 000000000h,000000005h,0756E6547h,06C65746Eh,049656E69h
dd 000000001h,000000F34h,000020800h,00000441Dh,0BFEBFBFFh
dd 000000002h,0605B5001h,000000000h,000000000h,0007C7040h
dd 000000003h,000000000h,000000000h,000000000h,000000000h
dd 000000004h,000000000h,000000000h,000000000h,000000000h
dd 000000005h,000000040h,000000040h,000000000h,000000000h
dd 080000000h,080000008h,000000000h,000000000h,000000000h
dd 080000001h,000000000h,000000000h,000000000h,000000000h
dd 080000002h,020202020h,020202020h,020202020h,06E492020h
dd 080000003h,0286C6574h,050202952h,069746E65h,052286D75h
dd 080000004h,020342029h,020555043h,030302E33h,0007A4847h
dd 080000005h,000000000h,000000000h,000000000h,000000000h
dd 080000006h,000000000h,000000000h,004006040h,000000000h
dd 080000007h,000000000h,000000000h,000000000h,000000000h
dd 080000008h,000002024h,000000000h,000000000h,000000000h
dd 0FFFFFFFFh

.CODE

CPUIDEmu PROC ; On Entry EAX = Index

        push    esi
        mov     esi,EmuTable

        cmp     eax,0FFFFFFFFh
        jz      cpuid_30

cpuid_10:

        cmp     [esi],eax
        jz      cpuid_20

        add     esi,20

        cmp     dword ptr [esi],0FFFFFFFFh
        jnz     cpuid_10

        jmp     cpuid_30

cpuid_20:

        mov     eax,[esi +  4]
        mov     ebx,[esi +  8]
        mov     ecx,[esi + 12]
        mov     edx,[esi + 16]

cpuid_30:

        pop     esi
        ret

CPUIDEmu ENDP

END
It could be a random act of randomness. Those happen a lot as well.

clive

Here from my NewCastle Athlon

index      eax      ebx      ecx      edx
00000000 - 00000001 68747541 444D4163 69746E65 - ....AuthcAMDenti
00000001 - 00000FF0 00000800 00000000 078BFBFF - ................

80000000 - 80000018 68747541 444D4163 69746E65 - ....AuthcAMDenti
80000001 - 00000FF0 0000010A 00000000 E1D3FBFF - ................
80000002 - 20444D41 6C687441 74286E6F 3620296D - AMD Athlon(tm) 6
80000003 - 72502034 7365636F 20726F73 30303233 - 4 Processor 3200
80000004 - 0000002B 00000000 00000000 00000000 - +...............
80000005 - FF08FF08 FF20FF20 40020140 40020140 - .... . .@..@@..@
80000006 - 00000000 42004200 02008140 00000000 - .....B.B@.......
80000007 - 00000000 00000000 00000000 0000000F - ................
80000008 - 00003028 00000000 00000000 00000000 - (0..............
80000009 - 00000000 00000000 00000000 00000000 - ................
8000000A - 00000000 00000000 00000000 00000000 - ................
8000000B - 00000000 00000000 00000000 00000000 - ................
8000000C - 00000000 00000000 00000000 00000000 - ................
8000000D - 00000000 00000000 00000000 00000000 - ................
8000000E - 00000000 00000000 00000000 00000000 - ................
8000000F - 00000000 00000000 00000000 00000000 - ................
80000010 - 00000000 00000000 00000000 00000000 - ................
80000011 - 00000000 00000000 00000000 00000000 - ................
80000012 - 00000000 00000000 00000000 00000000 - ................
80000013 - 00000000 00000000 00000000 00000000 - ................
80000014 - 00000000 00000000 00000000 00000000 - ................
80000015 - 00000000 00000000 00000000 00000000 - ................
80000016 - 00000000 00000000 00000000 00000000 - ................
80000017 - 00000000 00000000 00000000 00000000 - ................
80000018 - 00000000 00000000 00000000 00000000 - ................

Press any key to continue..
EmuTable        equ     $
        dd      000000000h,000000001h,068747541h,0444D4163h,069746E65h
        dd      000000001h,000000FF0h,000000800h,000000000h,0078BFBFFh
        dd      080000000h,080000018h,068747541h,0444D4163h,069746E65h
        dd      080000001h,000000FF0h,00000010Ah,000000000h,0E1D3FBFFh
        dd      080000002h,020444D41h,06C687441h,074286E6Fh,03620296Dh
        dd      080000003h,072502034h,07365636Fh,020726F73h,030303233h
        dd      080000004h,00000002Bh,000000000h,000000000h,000000000h
        dd      080000005h,0FF08FF08h,0FF20FF20h,040020140h,040020140h
        dd      080000006h,000000000h,042004200h,002008140h,000000000h
        dd      080000007h,000000000h,000000000h,000000000h,00000000Fh
        dd      080000008h,000003028h,000000000h,000000000h,000000000h
        dd      080000009h,000000000h,000000000h,000000000h,000000000h
        dd      08000000Ah,000000000h,000000000h,000000000h,000000000h
        dd      08000000Bh,000000000h,000000000h,000000000h,000000000h
        dd      08000000Ch,000000000h,000000000h,000000000h,000000000h
        dd      08000000Dh,000000000h,000000000h,000000000h,000000000h
        dd      08000000Eh,000000000h,000000000h,000000000h,000000000h
        dd      08000000Fh,000000000h,000000000h,000000000h,000000000h
        dd      080000010h,000000000h,000000000h,000000000h,000000000h
        dd      080000011h,000000000h,000000000h,000000000h,000000000h
        dd      080000012h,000000000h,000000000h,000000000h,000000000h
        dd      080000013h,000000000h,000000000h,000000000h,000000000h
        dd      080000014h,000000000h,000000000h,000000000h,000000000h
        dd      080000015h,000000000h,000000000h,000000000h,000000000h
        dd      080000016h,000000000h,000000000h,000000000h,000000000h
        dd      080000017h,000000000h,000000000h,000000000h,000000000h
        dd      080000018h,000000000h,000000000h,000000000h,000000000h
        dd      0FFFFFFFFh

Press any key to continue..
It could be a random act of randomness. Those happen a lot as well.

dedndave

Clive
you might want to dump the two full series of cache descriptors
not that that info is used to ID processors, much
either way, it would be nice to have a data base to work from   :U
now, we just need some people with strange processors to run it for us - lol
i had thought of creating a website to collect similar data files
let anyone run it - i figured they'd be afraid it was some kind of a virus  :P

clive

Don't have much in the way of AMD kit here. If I was getting real fancy I would have it email or upload to a website, but like you said that usually freaks people out.

It should catch the Intel cache descriptors provided CPUID#0 eax returns the correct number of CPUID records. I haven't looked at AMD docs in a while, and my MSR code can't inject the driver in Vista/Win7

Here is an Intel Core Solo
index      eax      ebx      ecx      edx
00000000 - 0000000A 756E6547 6C65746E 49656E69 - ....GenuntelineI
00000001 - 000006E8 00010800 0000C189 AFE9FBFF - ................
00000002 - 02B3B001 000000F0 00000000 2C04307D - ............}0.,
00000003 - 00000000 00000000 00000000 00000000 - ................
00000004 - 00000000 00000000 00000000 00000000 - ................
00000005 - 00000040 00000040 00000003 00022220 - @...@....... "..
00000006 - 00000001 00000002 00000001 00000000 - ................
00000007 - 00000000 00000000 00000000 00000000 - ................
00000008 - 00000000 00000000 00000000 00000000 - ................
00000009 - 00000000 00000000 00000000 00000000 - ................
0000000A - 07280201 00000000 00000000 00000000 - ..(.............

80000000 - 80000008 00000000 00000000 00000000 - ................
80000001 - 00000000 00000000 00000000 00100000 - ................
80000002 - 756E6547 20656E69 65746E49 2952286C - Genuine Intel(R)
80000003 - 55504320 20202020 20202020 54202020 -  CPU           T
80000004 - 30353331 20402020 36382E31 007A4847 - 1350  @ 1.86GHz.
80000005 - 00000000 00000000 00000000 00000000 - ................
80000006 - 00000000 00000000 08006040 00000000 - ........@`......
80000007 - 00000000 00000000 00000000 00000000 - ................
80000008 - 00002020 00000000 00000000 00000000 -   ..............

Press any key to continue..

EmuTable        equ     $
        dd      000000000h,00000000Ah,0756E6547h,06C65746Eh,049656E69h
        dd      000000001h,0000006E8h,000010800h,00000C189h,0AFE9FBFFh
        dd      000000002h,002B3B001h,0000000F0h,000000000h,02C04307Dh
        dd      000000003h,000000000h,000000000h,000000000h,000000000h
        dd      000000004h,000000000h,000000000h,000000000h,000000000h
        dd      000000005h,000000040h,000000040h,000000003h,000022220h
        dd      000000006h,000000001h,000000002h,000000001h,000000000h
        dd      000000007h,000000000h,000000000h,000000000h,000000000h
        dd      000000008h,000000000h,000000000h,000000000h,000000000h
        dd      000000009h,000000000h,000000000h,000000000h,000000000h
        dd      00000000Ah,007280201h,000000000h,000000000h,000000000h
        dd      080000000h,080000008h,000000000h,000000000h,000000000h
        dd      080000001h,000000000h,000000000h,000000000h,000100000h
        dd      080000002h,0756E6547h,020656E69h,065746E49h,02952286Ch
        dd      080000003h,055504320h,020202020h,020202020h,054202020h
        dd      080000004h,030353331h,020402020h,036382E31h,0007A4847h
        dd      080000005h,000000000h,000000000h,000000000h,000000000h
        dd      080000006h,000000000h,000000000h,008006040h,000000000h
        dd      080000007h,000000000h,000000000h,000000000h,000000000h
        dd      080000008h,000002020h,000000000h,000000000h,000000000h
        dd      0FFFFFFFFh

Press any key to continue..


P3 Coppermine

index      eax      ebx      ecx      edx
00000000 - 00000002 756E6547 6C65746E 49656E69 - ....GenuntelineI
00000001 - 00000665 00000000 00000000 0183FBFF - e...............
00000002 - 03020101 00000000 00000000 0C040841 - ............A...

80000000 - 03020101 00000000 00000000 0C040841 - ............A...

Press any key to continue..

EmuTable equ $
dd 000000000h,000000002h,0756E6547h,06C65746Eh,049656E69h
dd 000000001h,000000665h,000000000h,000000000h,00183FBFFh
dd 000000002h,003020101h,000000000h,000000000h,00C040841h
dd 0FFFFFFFFh

Press any key to continue..


I should probably fire up Deschutes and Katmai
It could be a random act of randomness. Those happen a lot as well.

dedndave

#24
it's still cool   :U
i wasn't going to post mine - you already have the prescott
but, there are a few different steppings
yours must be a little newer than mine - i see a few bits set in yours that aren't set here
index      eax      ebx      ecx      edx
00000000 - 00000005 756E6547 6C65746E 49656E69 - ....GenuntelineI
00000001 - 00000F43 00020800 0000649D BFEBFBFF - C........d......
00000002 - 605B5001 00000000 00000000 007D7040 - .P[`........@p}.
00000003 - 00000000 00000000 00000000 00000000 - ................
00000004 - 00000000 00000000 00000000 00000000 - ................
00000005 - 00000040 00000040 00000000 00000000 - @...@...........

80000000 - 80000008 00000000 00000000 00000000 - ................
80000001 - 00000000 00000000 00000000 20100000 - ...............
80000002 - 20202020 20202020 20202020 6E492020 -               In
80000003 - 286C6574 50202952 69746E65 52286D75 - tel(R) Pentium(R
80000004 - 20342029 20555043 30302E33 007A4847 - ) 4 CPU 3.00GHz.
80000005 - 00000000 00000000 00000000 00000000 - ................
80000006 - 00000000 00000000 08006040 00000000 - ........@`......
80000007 - 00000000 00000000 00000000 00000000 - ................
80000008 - 00003024 00000000 00000000 00000000 - $0..............

EmuTable        equ     $
        dd      000000000h,000000005h,0756E6547h,06C65746Eh,049656E69h
        dd      000000001h,000000F43h,001020800h,00000649Dh,0BFEBFBFFh
        dd      000000002h,0605B5001h,000000000h,000000000h,0007D7040h
        dd      000000003h,000000000h,000000000h,000000000h,000000000h
        dd      000000004h,000000000h,000000000h,000000000h,000000000h
        dd      000000005h,000000040h,000000040h,000000000h,000000000h
        dd      080000000h,080000008h,000000000h,000000000h,000000000h
        dd      080000001h,000000000h,000000000h,000000000h,020100000h
        dd      080000002h,020202020h,020202020h,020202020h,06E492020h
        dd      080000003h,0286C6574h,050202952h,069746E65h,052286D75h
        dd      080000004h,020342029h,020555043h,030302E33h,0007A4847h
        dd      080000005h,000000000h,000000000h,000000000h,000000000h
        dd      080000006h,000000000h,000000000h,008006040h,000000000h
        dd      080000007h,000000000h,000000000h,000000000h,000000000h
        dd      080000008h,000003024h,000000000h,000000000h,000000000h
        dd      0FFFFFFFFh

EDIT - this prescott does support EM64T

hutch--

Interesting stuff if you want to do a CPU-Z replacement but the target of the original algo I posted was to determine what later instructions sets could be used programmatically so the programmer could write alternate code for different processors.


    invoke mmi,ADDR x86
    cmp x86.sse2, 0
    jne alternative


What I need with the algo is someone who has a Phenom II to see if sse4a is recognised.
Download site for MASM32      New MASM Forum
https://masm32.com          https://masm32.com/board/index.php

clive

Indeed, but if you want to test code before deploying it, emulating hardware you don't have can permit you to be 99.9% sure it will work as expected. It also permits you to perform regression testing from the comfort of your own computer. Plus you don't have to wait for us to test it.
It could be a random act of randomness. Those happen a lot as well.

clive

Quote from: dedndave on May 05, 2010, 03:08:07 AM
i wasn't going to post mine - you already have the prescott but, there are a few different steppings
yours must be a little newer than mine - i see a few bits set in yours that aren't set here

I have a couple, the box here is Step D0, 1MB L2, without 64-bit. There is another Prescott and Cedar Mill at the office, I think the one at the office supports 64-bit.

Here a Pentium Dual Core (Merom) MMX, SSE 1,2,3,3e, EM64T

index      eax      ebx      ecx      edx
00000000 - 0000000A 756E6547 6C65746E 49656E69 - ....GenuntelineI
00000001 - 000006FD 00020800 0000E39D BFEBFBFF - ................
00000002 - 05B0B101 005657F0 00000000 2CB43078 - .....WV.....x0.,
00000003 - 00000000 00000000 00000000 00000000 - ................
00000004 - 00000000 00000000 00000000 00000000 - ................
00000005 - 00000040 00000040 00000003 00001110 - @...@...........
00000006 - 00000001 00000002 00000001 00000000 - ................
00000007 - 00000000 00000000 00000000 00000000 - ................
00000008 - 00000400 00000000 00000000 00000000 - ................
00000009 - 00000000 00000000 00000000 00000000 - ................
0000000A - 07280202 00000000 00000000 00000503 - ..(.............

80000000 - 80000008 00000000 00000000 00000000 - ................
80000001 - 00000000 00000000 00000001 20100000 - ...............
80000002 - 65746E49 2952286C 6E655020 6D756974 - Intel(R) Pentium
80000003 - 20295228 6C617544 50432020 54202055 - (R) Dual  CPU  T
80000004 - 30333332 20402020 30362E31 007A4847 - 2330  @ 1.60GHz.
80000005 - 00000000 00000000 00000000 00000000 - ................
80000006 - 00000000 00000000 04004040 00000000 - ........@@......
80000007 - 00000000 00000000 00000000 00000000 - ................
80000008 - 00003024 00000000 00000000 00000000 - $0..............

Press any key to continue..
EmuTable        equ     $
        dd      000000000h,00000000Ah,0756E6547h,06C65746Eh,049656E69h
        dd      000000001h,0000006FDh,001020800h,00000E39Dh,0BFEBFBFFh
        dd      000000002h,005B0B101h,0005657F0h,000000000h,02CB43078h
        dd      000000003h,000000000h,000000000h,000000000h,000000000h
        dd      000000004h,000000000h,000000000h,000000000h,000000000h
        dd      000000005h,000000040h,000000040h,000000003h,000001110h
        dd      000000006h,000000001h,000000002h,000000001h,000000000h
        dd      000000007h,000000000h,000000000h,000000000h,000000000h
        dd      000000008h,000000400h,000000000h,000000000h,000000000h
        dd      000000009h,000000000h,000000000h,000000000h,000000000h
        dd      00000000Ah,007280202h,000000000h,000000000h,000000503h
        dd      080000000h,080000008h,000000000h,000000000h,000000000h
        dd      080000001h,000000000h,000000000h,000000001h,020100000h
        dd      080000002h,065746E49h,02952286Ch,06E655020h,06D756974h
        dd      080000003h,020295228h,06C617544h,050432020h,054202055h
        dd      080000004h,030333332h,020402020h,030362E31h,0007A4847h
        dd      080000005h,000000000h,000000000h,000000000h,000000000h
        dd      080000006h,000000000h,000000000h,004004040h,000000000h
        dd      080000007h,000000000h,000000000h,000000000h,000000000h
        dd      080000008h,000003024h,000000000h,000000000h,000000000h
        dd      0FFFFFFFFh

Press any key to continue..
It could be a random act of randomness. Those happen a lot as well.

hutch--

Here is the results on my 3 running boxes.


index      eax      ebx      ecx      edx
00000000 - 0000000D 756E6547 6C65746E 49656E69 - ....GenuntelineI
00000001 - 0001067A 03040800 0408E3FD BFEBFBFF - z...............
00000002 - 05B0B101 005657F0 00000000 2CB4304E - .....WV.....N0.,
00000003 - 00000000 00000000 00000000 00000000 - ................
00000004 - 00000000 00000000 00000000 00000000 - ................
00000005 - 00000040 00000040 00000003 00022220 - @...@....... "..
00000006 - 00000001 00000002 00000003 00000000 - ................
00000007 - 00000000 00000000 00000000 00000000 - ................
00000008 - 00000400 00000000 00000000 00000000 - ................
00000009 - 00000000 00000000 00000000 00000000 - ................
0000000A - 07280202 00000000 00000000 00000503 - ..(.............
0000000B - 00000000 00000000 00000000 00000000 - ................
0000000C - 00000000 00000000 00000000 00000000 - ................
0000000D - 00000000 00000000 00000000 00000000 - ................

80000000 - 80000008 00000000 00000000 00000000 - ................
80000001 - 00000000 00000000 00000001 20100000 - ...............
80000002 - 65746E49 2952286C 726F4320 4D542865 - Intel(R) Core(TM
80000003 - 51203229 20646175 20555043 51202020 - )2 Quad CPU    Q
80000004 - 30353639 20402020 30302E33 007A4847 - 9650  @ 3.00GHz.
80000005 - 00000000 00000000 00000000 00000000 - ................
80000006 - 00000000 00000000 18008040 00000000 - ........@.......
80000007 - 00000000 00000000 00000000 00000000 - ................
80000008 - 00003024 00000000 00000000 00000000 - $0..............

Press any key to continue..



index      eax      ebx      ecx      edx
00000000 - 00000005 756E6547 6C65746E 49656E69 - ....GenuntelineI
00000001 - 00000F4A 00010800 000065BD BFEBFBFF - J........e......
00000002 - 605B5101 00000000 00000000 007D7040 - .Q[`........@p}.
00000003 - 00000000 00000000 00000000 00000000 - ................
00000004 - 00000000 00000000 00000000 00000000 - ................
00000005 - 00000040 00000040 00000000 00000000 - @...@...........

80000000 - 80000008 00000000 00000000 00000000 - ................
80000001 - 00000000 00000000 00000001 20000000 - ...............
80000002 - 20202020 20202020 20202020 20202020 -
80000003 - 47202020 69756E65 4920656E 6C65746E -    Genuine Intel
80000004 - 20295228 20555043 30382E33 007A4847 - (R) CPU 3.80GHz.
80000005 - 00000000 00000000 00000000 00000000 - ................
80000006 - 00000000 00000000 08006040 00000000 - ........@`......
80000007 - 00000000 00000000 00000000 00000000 - ................
80000008 - 00003024 00000000 00000000 00000000 - $0..............

Press any key to continue..



00000000 - 0000000B 756E6547 6C65746E 49656E69 - ....GenuntelineI
00000001 - 000106E5 02100800 0098E3FD BFEBFBFF - ................
00000002 - 55035A01 00F0B2E4 00000000 09CA212C - .Z.U........,!..
00000003 - 00000000 00000000 00000000 00000000 - ................
00000004 - 00000000 00000000 00000000 00000000 - ................
00000005 - 00000040 00000040 00000003 00001120 - @...@....... ...
00000006 - 00000003 00000002 00000001 00000000 - ................
00000007 - 00000000 00000000 00000000 00000000 - ................
00000008 - 00000000 00000000 00000000 00000000 - ................
00000009 - 00000000 00000000 00000000 00000000 - ................
0000000A - 07300403 00000044 00000000 00000603 - ..0.D...........
0000000B - 00000000 00000000 000000C0 00000000 - ................

80000000 - 80000008 00000000 00000000 00000000 - ................
80000001 - 00000000 00000000 00000001 28100000 - ...............(
80000002 - 65746E49 2952286C 726F4320 4D542865 - Intel(R) Core(TM
80000003 - 37692029 55504320 20202020 20202020 - ) i7 CPU
80000004 - 30363820 20402020 30382E32 007A4847 -  860  @ 2.80GHz.
80000005 - 00000000 00000000 00000000 00000000 - ................
80000006 - 00000000 00000000 01006040 00000000 - ........@`......
80000007 - 00000000 00000000 00000000 00000100 - ................
80000008 - 00003024 00000000 00000000 00000000 - $0..............

Press any key to continue..
Download site for MASM32      New MASM Forum
https://masm32.com          https://masm32.com/board/index.php

dedndave

Clive - this one does support EM64T - updated the previous post
what we should do is start a new thread in the laboratory and move or copy these runs over there
that way, they are all in one place and we don't prevent Hutch from getting the results he needs