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.
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
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.