News:

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

empty exe and errors A2164 A1016

Started by mineiro, November 17, 2011, 03:53:31 PM

Previous topic - Next topic

mineiro

Well, just sharing that ml64 can create empty .exe files. Is this a feature?
.data
.code
public WinMainCRTStartup
WinMainCRTStartup::
;ret
END


Below is just a report of one error:
.data
dumped:               ;this one here generate some dumps
dumped struct
dumped ends

.code
public WinMainCRTStartup
WinMainCRTStartup::
;ret
END


Microsoft (R) Macro Assembler (x64) Version 10.00.30319.01
Copyright (C) Microsoft Corporation.  All rights reserved.

Assembling: internal.asm
internal.asm(4) : error A2164:non-benign structure redefinition: too few initi
alizers : dumped

MASM : fatal error A1016: Internal error

  Version 10.00.30319.01

  ExceptionCode            = C0000005
  ExceptionFlags           = 00000000
  ExceptionAddress         = 0000000140007556 (0000000140000000) "D:\masm64\bin\
ml64.exe"
  NumberParameters         = 00000002
  ExceptionInformation[ 0] = 0000000000000000
  ExceptionInformation[ 1] = 000000000000001C

CONTEXT:
  Rax    = 0000000000000000  R8     = 0000000000365800
  Rbx    = 000000000037507A  R9     = 00000000003654A0
  Rcx    = 000000000037507A  R10    = 0000000100000001
  Rdx    = 0000000100380023  R11    = FFFFFFFF0000FFFF
  Rsp    = 000000000012F470  R12    = 0000000000000001
  Rbp    = 00000000000003F2  E13    = 0000000000000000
  Rsi    = 0000000000000000  R14    = 0000000140000000
  Rdi    = 0000000000000000  R15    = 0000000000000006
  Rip    = 0000000140007556  EFlags = 0000000000010246
  SegCs  = 0000000000000033  SegDs  = 000000000000002B
  SegSs  = 000000000000002B  SegEs  = 000000000000002B
  SegFs  = 0000000000000053  SegGs  = 000000000000002B
  Dr0    = 0000000000000000  Dr3    = 0000000000000000
  Dr1    = 0000000000000000  Dr6    = 0000000000000000
  Dr2    = 0000000000000000  Dr7    = 0000000000000000

This error appears in version 8,9 or 10 of ml64.

qWord

Quote from: mineiro on November 17, 2011, 03:53:31 PM
Well, just sharing that ml64 can create empty .exe files. Is this a feature?
What would be the purpose? - Also I'm sure most assemblers can do this.

Quote from: mineiro on November 17, 2011, 03:53:31 PM
Below is just a report of one error:
.data
dumped:               ;this one here generate some dumps
dumped struct
dumped ends

Do you really suggest to get something useful from this?

BTW: jwasm is the way to go - at least for x64
FPU in a trice: SmplMath
It's that simple!

mineiro

Well Sr qword, if you are working with ml64 and are inside a big project, you can receive errors and do not know where the problem is. This is the intention of this post, maybe someone receive that errors, and can know about how to generate the same error to find a mistake. While the first example show you about where the problem is, the example below simply do not show you where the error happened. In a big project, is easy you put a name that was used before to reference something or someplace. If you work alone, this probably does not occurs, but I'm working togheter.

data segment
data struct
data ends
data ends

I agree with you about jwasm, but I do not forget about others assemblers like yasm.