The MASM Forum Archive 2004 to 2012

Project Support Forums => MASM32 => Topic started by: ToutEnMasm on September 08, 2009, 09:33:16 AM

Title: A new version of ml with the new WDK ?
Post by: ToutEnMasm on September 08, 2009, 09:33:16 AM

There is a new version of the wdk here.
http://www.microsoft.com/downloads/details.aspx?FamilyID=2105564e-1a9a-4bf4-8d74-ec5b52da3d00&displaylang=en
He is really bigger than the last one.
perhaps someone can have a look at it to see the ml version he have on it ?.
Title: Re: A new version of ml with the new WDK ?
Post by: BlackVortex on September 08, 2009, 10:30:15 AM
Sad thing is, even if it's version 35.92083.4 , it's still gonna be bad for assembler programming.   :tdown
Title: Re: A new version of ml with the new WDK ?
Post by: sinsi on September 08, 2009, 10:49:07 AM
Microsoft (R) Macro Assembler Version 9.00.30729.207
Title: Re: A new version of ml with the new WDK ?
Post by: ToutEnMasm on September 08, 2009, 01:34:32 PM

Thanks for answer ,it's new (too bigger for me to download).
Stay to know if it have less internal error than the 9.00.30729.01 downloadable here.
http://d01.megashares.com/?d01=2552924
Title: Re: A new version of ml with the new WDK ?
Post by: japheth on September 08, 2009, 04:02:29 PM
Quote from: ToutEnMasm on September 08, 2009, 01:34:32 PM

Thanks for answer ,it's new (too bigger for me to download).
Stay to know if it have less internal error than the 9.00.30729.01 ...

Could you tell a bit more details about those "internal errors", please!
Title: Re: A new version of ml with the new WDK ?
Post by: ToutEnMasm on September 08, 2009, 05:07:23 PM
Quote
Could you tell a bit more details about those "internal errors", please!

OK,I explain.
In header files Internal structures and unions are allowed,but in some files those provided an internal error of ml depending of the used version of ml .6.15 have the less internal errors.
As a sample , in winioctl.h , some unions must be extracted of the structure as follow.
Quote
         ;winioctl.sdk      internal error
EXPORT_PARTITION_INFORMATION_EX UNION
       Mbr PARTITION_INFORMATION_MBR <>
       Gpt PARTITION_INFORMATION_GPT <>
EXPORT_PARTITION_INFORMATION_EX ENDS
PARTITION_INFORMATION_EX   STRUCT
   PartitionStyle DWORD ?
   StartingOffset LARGE_INTEGER <>
   PartitionLength LARGE_INTEGER <>
   PartitionNumber DWORD ?
   RewritePartition BYTE ?
   export_union EXPORT_PARTITION_INFORMATION_EX <>
PARTITION_INFORMATION_EX      ENDS



EXPORT_DRIVE_LAYOUT_INFORMATION_EX UNION
   Mbr DRIVE_LAYOUT_INFORMATION_MBR <>
   Gpt DRIVE_LAYOUT_INFORMATION_GPT <>
EXPORT_DRIVE_LAYOUT_INFORMATION_EX ENDS

DRIVE_LAYOUT_INFORMATION_EX   STRUCT
   PartitionStyle DWORD ?
   PartitionCount DWORD ?
   export_union EXPORT_DRIVE_LAYOUT_INFORMATION_EX <>      
   ;union
   ;Mbr DRIVE_LAYOUT_INFORMATION_MBR <>
   ;Gpt DRIVE_LAYOUT_INFORMATION_GPT <>
   ;ENDS
   PartitionEntry PARTITION_INFORMATION_EX 1 dup (<>)
DRIVE_LAYOUT_INFORMATION_EX      ENDS

This source couldn't be compiled with ml 9
http://www.masm32.com/board/index.php?topic=11637.msg87596#msg87596
Title: Re: A new version of ml with the new WDK ?
Post by: Vortex on September 08, 2009, 05:46:54 PM
Hi ToutEnMasm,

There is a newer version shipped with Visual Studio 2010 Professional :

Microsoft (R) Macro Assembler Version 10.00.20506.01

Running Visual Studio 2010 Professional Beta 1 development tools on Windows XP (http://www.masm32.com/board/index.php?topic=11599.0)
Title: Re: A new version of ml with the new WDK ?
Post by: ToutEnMasm on September 09, 2009, 07:12:58 AM
Hello,
After a big download,I have tested ml 10 on the source code given in the upper link.
Quote
ml.exe /Zp4 talkback.asm
F:\talkback
Assembling: talkback.asm

MASM : fatal error A1016: Internal error

  Version 10.00.20506.01

  ExceptionCode            = C0000005
  ExceptionFlags           = 00000000
  ExceptionAddress         = 00422D1F (00400000) "C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\ml.exe"
  NumberParameters         = 00000002
  ExceptionInformation[ 0] = 00000000
  ExceptionInformation[ 1] = 038E0004

CONTEXT:
  Eax    = 0045167C  Esp    = 0012F648
  Ebx    = 0012F7F4  Ebp    = 0012F988
  Ecx    = 00C8687D  Esi    = 038E0004
  Edx    = 00000001  Edi    = 0012F664
  Eip    = 00422D1F  EFlags = 00010202
  SegCs  = 0000001B  SegDs  = 00000023
  SegSs  = 00000023  SegEs  = 00000023
  SegFs  = 0000003B  SegGs  = 00000000
  Dr0    = 00000000  Dr3    = 00000000
  Dr1    = 00000000  Dr6    = 00000000
  Dr2    = 00000000  Dr7    = 00000000


????????????????????????????????????????????????

Title: Re: A new version of ml with the new WDK ?
Post by: ToutEnMasm on September 09, 2009, 08:08:26 AM
I have made the same test with the ml provided by the new WDK,it's OK.
the Microsoft (R) Macro Assembler Version 9.00.30729.207 seems better than ml 10.

Tests have been made on this machine
Quote
                Intel(R) Celeron(R) CPU 2.80GHz
Microsoft Windows XP Professional Build Service Pack 3 2600
Title: Re: A new version of ml with the new WDK ?
Post by: hutch-- on September 09, 2009, 08:48:50 AM
It would be interesting to see what it has spat the dummy on. I wonder if the code could be selectively commented to find out what it crashes on.
Title: Re: A new version of ml with the new WDK ?
Post by: japheth on September 09, 2009, 09:10:21 AM
Quote from: hutch-- on September 09, 2009, 08:48:50 AM
It would be interesting to see what it has spat the dummy on. I wonder if the code could be selectively commented to find out what it crashes on.
I didn't test, but Masm always had (has?) problems if it must align an embedded struct. This part


   RewritePartition BYTE ?
   export_union EXPORT_PARTITION_INFORMATION_EX <>


seems the critical one. Btw, the C counterpart is


BOOLEAN         RewritePartition;
  union {
    PARTITION_INFORMATION_MBR Mbr;
    PARTITION_INFORMATION_GPT Gpt;


and, AFAIR, BOOLEAN is a DWORD in the Win32 API. So the ASM definition seems to be wrong.

Title: Re: A new version of ml with the new WDK ?
Post by: ToutEnMasm on September 09, 2009, 03:17:18 PM

BOOLEAN is defined as follow in:
Quote
Microsoft Platform SDK for Windows XP SP2\Include\WinNT.h
line 749   : typedef BYTE  BOOLEAN;
Title: Re: A new version of ml with the new WDK ?
Post by: ToutEnMasm on September 09, 2009, 04:00:46 PM

Here is two files to made tests.
It's an extract (enough short) of the winioctl.h and is translate.
The translate can be added to any source code.
Title: Re: A new version of ml with the new WDK ?
Post by: japheth on September 09, 2009, 05:39:13 PM

> Liine 749   : typedef BYTE  BOOLEAN;

Ok, BOOLEAN is a byte.

OT: But then there are some alignment problems with this STRUCT, because when I display the size of PARTITION_INFORMATION_EX in a C program, it tells it is 144. For assembly, the size is shorter.
Title: Re: A new version of ml with the new WDK ?
Post by: ToutEnMasm on October 08, 2010, 01:34:28 PM

Later,
I used the Version 10.00.30319.01 (Vc++ 10 express) from a few days and those defaults have disappeared.
I still have Internals errors with incompatible debug libraries and bad use of reserved words (GROUP).
This will be perhaps corrected in the next version.