flat assembler
Message board for the users of flat assembler.
![]() |
Author |
|
ManOfSteel
Both work fine under Win2K pro.
|
|||
![]() |
|
LocoDelAssembly
I have tested a DLL on Win{95, 98SE, Me, 2000, XP, Vista} with "data fixups" instead of separated section and it worked on all the mentioned OSes and also in WINE. Also the exports and imports are set with the data directive rather than a separated section for each one. I don't have 16 byte alignment though, but I can't guarantee you that it is not needed (perhaps I'm already aligned in all cases). The type of data that I always needed alignment was "data resource", unless an "align 4" is present before the data directive then depending on whether $ is aligned to 4 or not determines if the program will run correctly (at least on XP).
|
|||
![]() |
|
IronFelix
Thanks a lot! No more "section" - only "data" )))))
|
|||
![]() |
|
SFeLi
Doesn't work on Windows 98 SE:
Code: format pe gui 4.1 dll at 0x00400000 entry DllEntryPoint include 'win32a.inc' DllEntryPoint: mov eax,[esp+0x08] dec eax jnz .exit mov edx,[esp+0x04] mov [hInstance],edx stdcall [OutputDebugString],_loaded .exit: xor eax,eax inc eax retn 0x0c data import library kernel32,'KERNEL32.DLL' include 'api/kernel32.inc' end data _loaded db 'DLL is loaded!',0 hInstance dd ? data fixups end data |
|||
![]() |
|
LocoDelAssembly
The attached example works for me on Win98SE.
The DLL I was referring to had a code section and a data section and in the latter all the data directories were declared (import, export and fixups). BTW, now I'm not sure if Win95 works because I don't have it on my virtual machines set, perhaps I did the test on my old Cx586 which has Win95 OSR2 as I remember I tested all the Windows versions I had but I cannot test now.
|
|||||||||||
![]() |
|
SFeLi
LocoDelAssembly, thank you. It works.
|
|||
![]() |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2020, Tomasz Grysztar. Also on GitHub, YouTube, Twitter.
Website powered by rwasa.