Hi hutch,
Recently, I lost the backup installation that I had, and was wondering what all would I need to download to have the "latest and the best" of MASM32. From what I remember:
1. MASM32 v9.0 download package
2. MASM32 v9.0 SP2 (Update package)
3. WINDOWS.INC updated (Split into two parts due to size and the VISTA additions)
Have I missed anything so far?
Thought: Why not have an "updated" installer which combines all the above mentioned things.
The reason I ask is coz I vaguely remember reading in some post that the WINDOWS.INC was fixed for POASM, but I cant seem to find that post (nor the "fixed for POASM" WINDOWS.INC, if any such file exists)
When I used the above mentioned MASM32 with POASM, it still got that "align 4" and "IID" error!!! :( :(
Commenting the "IID" and changing the "align 4" to "3 dummy bytes" has solved th problem for now !!! :bg
Thanks and Regards,
Shantanu
Shantanu,
All the stuff you listed will get you up to the must current form. I am working on version 10 and have it working fine and installing on win2k up to Vista fine. I have basically finished converting all of the winhelp help files to CHM but there are a couple that I did not write that still need to be done. I have a number of library modules to hunt up from a couple of different people and some more example code to add and the current form of version 10 has direct POASM support including some examples specific to POASM.
The workload is something like rewriting Encyclopeadia Britannia but I am on the downhill stretch. There is a very good Time/Date library contributed to the project, all of the binaries are DEP safe so most of it is done.
Quote from: Shantanu Gadgil on November 27, 2007, 05:13:12 AM
changing the "align 4" to "3 dummy bytes" has solved th problem
Sure? I thought align x tells the assembler to choose the required number of nop's, i.e. 0 or 1 or 2 or 3 bytes...
QuoteI thought align x tells the assembler to choose the required number of nop's, i.e. 0 or 1 or 2 or 3 bytes...
I think POASM doesn't support the
align command _inside_ a structure.
e.g. code:
.386
.model flat,stdcall
option casemap:none
include windows.inc
include user32.inc
includelib user32.lib
include kernel32.inc
includelib kernel32.lib
MYDATAÂ struct
    one   dword  ?
    two   byte  ?
;align 4Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â ; for MASM
;align dword                ; for MASM
    __   byte  3 dup (?)    ; substitute the above "align 4/dword" for POASM
    three  dword  ?
MYDATAÂ ends
.const
.data
.data?
.code
start:
    invoke MessageBox, 0, 0, 0, 0
    invoke ExitProcess, eax
end start
The interesting part is the structure did not specify that alignment from the Microsoft literature so I simply removed it. Manually padding a structure with byte data is simple enough to do. The curent windows.inc in the masm32 version 10 builds with POASM fine.
version 10 of masm32,very good work hutch :U,
your work ill help us a lot,thank you.