This is the code I've managed to build so far to implement DLLSkeleton.dll: http://archive.org/download/lowlevelDLL32_try0000/x86_WinAPI_ASM_PE_EXE_Skeleton32--v2017-07-26.zip
I'm trying to make a DLL purely in assembly. So far I've been able to create the export table and a function with an ordinal, 01, to export the TestHello function.
The DLL runs properly when loaded by usedll.exe, but only when the functions don't contain anything. When I add a call to MessageBoxA, the program crashes silently but I don't know how.
I've imported just about all standard WinAPI functions from the DLL. It works without problems when I create an EXE from scratch (for example http://devel.archefire.org/downfile.php?path=/PRJ/clockcount/&filename=2017-10-22--ClockCount.zip), but when I call something like MessageBox from the DLL, it doesn't work.
I've included the current code of the test DLL in pure assembly in the first ZIP. The export and import tables work well, the DLL is loaded properly when functions only contain a RET instruction (RET 12 for DllMain, which does nothing). So what else could be wrong when calling WinAPI functions from the DLL importing USER32.dll and others using the import table?