Does anybody know what is the IMAGE_FILE_MACHINE in the new Hammer?

0x014c for the 80386
0x014d for 80486
0x014e for Pentium
0x014f for MMX
0x0150 for SSE
0x0151 for SSE2

Then I guess 0x0152 for the new Hammer.

Am I right?
Posted on 2002-09-27 10:18:24 by slop
Its not even released and supported yet.
Posted on 2002-09-27 10:21:35 by comrade
Hi comrade,
Its not even released and supported yet
Iknow, but I heard it was working in Hannover, so there must be some exes going on.

I'm just asking if anybody knows.
Posted on 2002-09-27 10:45:50 by slop

Does anybody know what is the IMAGE_FILE_MACHINE in the new Hammer?

0x014c for the 80386
0x014d for 80486
0x014e for Pentium
0x014f for MMX
0x0150 for SSE
0x0151 for SSE2

Then I guess 0x0152 for the new Hammer.

Am I right?
Hola sloppy :)
I think only 14C really works.. the loader refuses to load 14D, etc.. if I recall correctly.
Posted on 2002-09-27 15:15:50 by Maverick
so far i've only seen 0x200 on a 64-bit executable.
Posted on 2002-09-27 15:31:08 by Tola
Hola Maverick ;)
But I think they will change the number with Hammer, it's like a very different kind of processor, even if it has compatibility.

Hi Tola,
You mean IA-64, have you seen any executable? can you post one here? I tryed to download the docs but it seem I got the optimization thingy. If I could see a list of opcodes, they say it's sor of RISC...
Posted on 2002-09-30 03:06:17 by slop
The 64 bit CPU could well be Digital's Alpha, for example.

The Hammer can be seen as an "extended" IA32 CPU, just like e.g. SSE is, so no real need for a new IMAGE_FILE_MACHINE, at least on the normal 32 bit versions of Windows.

I mean, if e.g. Alpha or Itanium (emulation apart) *need* a specific, natively compiled 64 bit version of Windows, the Hammer doesn't.. it's IA32 compatible + extensions. And it roxx. :grin:
Posted on 2002-09-30 03:33:06 by Maverick
Yes it roxx,
but then, maybe they'll use 0x014c for 'legacy' mode, but then, for pure 'long' mode maybe they'll need a new number?
Posted on 2002-09-30 03:47:23 by slop
/me dreams of a new machine with pure 64-bit (Itanium) CPU and 4x512 GB Ultra640 SCSI disks... the future goes on! :grin:
Posted on 2002-09-30 03:48:39 by bazik
bazik,
I also dream of that... since I had a nice conversation with Qweerdy, and he convinced me of 64-bits.
He's writing an OS.
Posted on 2002-09-30 04:04:29 by slop

He's writing an OS.


Who isn't nowadays? :rolleyes:
All OS writing guys have too much time on their hands... I concentrate myself more on application development and using Linux ;)
Posted on 2002-09-30 04:13:01 by bazik
But think of it,
knowing that the OS is yours, it's exactly what you like, tailor-made, not what Mr. Pauling or Mr. Kernighan, or Bill's wife wanted ;)

Serious, I sort of sometime think everyone should have his own OS, then a universal compatibility kernel.
That would be great :)
Posted on 2002-09-30 04:20:23 by slop

You mean IA-64, have you seen any executable? can you post one here? I tryed to download the docs but it seem I got the optimization thingy. If I could see a list of opcodes, they say it's sor of RISC...

it actually is an ia-64 executable, but i cannot post it here due to copyright reasons ;)
Posted on 2002-09-30 04:56:46 by Tola
Hi Tola,
I'm also looking for the header, can you post the first chunk of hex bytes?
I think there's no copyright infringement, since they are the 'common' header.
And also, do you know any opcode, a list of them?
Thanx
Posted on 2002-09-30 05:29:12 by slop


Dump of file MONITOR.EXE

File Header
Machine: 0200 (unknown)
Number of Sections: 0008
TimeDateStamp: 3D121578
PointerToSymbolTable: 00000000
NumberOfSymbols: 00000000
SizeOfOptionalHeader: 00F0
Characteristics: 012F
RELOCS_STRIPPED
EXECUTABLE_IMAGE
LINE_NUMS_STRIPPED
LOCAL_SYMS_STRIPPED
32BIT_MACHINE

Optional Header
Magic 020B
linker version 7.00
size of code 74400
size of initialized data 21C00
size of uninitialized data 0
entrypoint RVA 7EFE8
base of code 2000
base of data 400000
image base 0
section align 2000
file align 200
required OS version 4.00
image version 0.00
subsystem version 5.01
Reserved1 0
size of image 9D350
size of headers 400
checksum 0
Subsystem 0002 (Windows GUI)
stack reserve size 400000
stack commit size 0
heap reserve size 4000
heap commit size 0
RVAs & sizes 0

Data Directory

Section Table
01 .text VirtSize: 000743C0 VirtAddr: 00002000
raw data offs: 00000400 raw data size: 00074400
relocation offs: 00000000 relocations: 00000000
line # offs: 00000000 line #'s: 00000000
characteristics: 60000020
CODE MEM_EXECUTE MEM_READ

02 .rdata VirtSize: 00011BD4 VirtAddr: 00078000
raw data offs: 00074800 raw data size: 00011C00
relocation offs: 00000000 relocations: 00000000
line # offs: 00000000 line #'s: 00000000
characteristics: 40000040
INITIALIZED_DATA MEM_READ

03 .pdata VirtSize: 000019C8 VirtAddr: 0008A000
raw data offs: 00086400 raw data size: 00001A00
relocation offs: 00000000 relocations: 00000000
line # offs: 00000000 line #'s: 00000000
characteristics: 40000040
INITIALIZED_DATA MEM_READ

04 .srdata VirtSize: 000008A6 VirtAddr: 0008C000
raw data offs: 00087E00 raw data size: 00000A00
relocation offs: 00000000 relocations: 00000000
line # offs: 00000000 line #'s: 00000000
characteristics: 40000040
INITIALIZED_DATA MEM_READ

05 .sdata VirtSize: 000016FD VirtAddr: 0008E000
raw data offs: 00088800 raw data size: 00001800
relocation offs: 00000000 relocations: 00000000
line # offs: 00000000 line #'s: 00000000
characteristics: C0000040
INITIALIZED_DATA MEM_READ MEM_WRITE

06 .data VirtSize: 000013F3 VirtAddr: 00090000
raw data offs: 0008A000 raw data size: 00001200
relocation offs: 00000000 relocations: 00000000
line # offs: 00000000 line #'s: 00000000
characteristics: C0000040
INITIALIZED_DATA MEM_READ MEM_WRITE

07 .idata VirtSize: 00001BB3 VirtAddr: 00092000
raw data offs: 0008B200 raw data size: 00001C00
relocation offs: 00000000 relocations: 00000000
line # offs: 00000000 line #'s: 00000000
characteristics: C0000040
INITIALIZED_DATA MEM_READ MEM_WRITE

08 .rsrc VirtSize: 00009350 VirtAddr: 00094000
raw data offs: 0008CE00 raw data size: 00009400
relocation offs: 00000000 relocations: 00000000
line # offs: 00000000 line #'s: 00000000
characteristics: 40000040
INITIALIZED_DATA MEM_READ


sadly, i don't have any other information on opcodes or the pe file format for this cpu.
Posted on 2002-09-30 06:51:47 by Tola
Thank you Tola,
very helpfull.

But is it a fully 64-bit application?
Because it has the 32BIT_MACHINE flag on, and I think it shouldn?t?

ANd how is the box, UP or multi-processor?
Does it run fast?
I've never seen one, you have to feel like a driver of a steam-boat... very powerful.

The pdf I have from intel is just a bunch of :no_idea: tables showing performance and other things. If there are opcodes I haven?t seen them there.
I don?t like intel's page anyway, though, becaue I always get lost there. I'm a man of forests, not of cities ;)
Posted on 2002-09-30 11:17:08 by slop
AFAIK the Hammer is backwards compatible, and earlier programs probably don't know about a 64BIT_MACHINE flag ;)
Posted on 2002-09-30 11:32:57 by Qweerdy

But is it a fully 64-bit application?
Because it has the 32BIT_MACHINE flag on, and I think it shouldn?t?

ANd how is the box, UP or multi-processor?
Does it run fast?

ha, i wish i had a 64-bit machine ;) i only have that one executable (it's included with another application).
Posted on 2002-09-30 11:33:45 by Tola
Tola, isn't that an ia64 (Itanium) EXE? Several come with the PSDK.
Okay, you answered question above. :)
Posted on 2002-09-30 18:22:09 by bitRAKE
eh, sloppy, didn't you check this out?
http://www.amd.com/x86-64techdocs
Posted on 2002-09-30 18:28:50 by Tola