FASMW 1.49 (interface 0.90) seems to handle some label names (specifically: E2, and E6 -- there may be more) in an unexpected way. I don't see anything special about these names, maybe someone can explain it.
Here is sample code, derived from the FASM example HELLO.ASM:
include '%include%/win32ax.inc'
.data
E2 db 'Title',0
E6 db 'Text',0
_E2 db 'Title',0
_E6 db 'Text',0
.code
start: invoke MessageBox,HWND_DESKTOP,E2,E6,MB_OK
invoke MessageBox,HWND_DESKTOP,_E2,_E6,MB_OK
invoke ExitProcess,0
.end start
Here is the disassembly:
00402000 start:
00402000 6A00 push 0
00402002 6A00 push 0
00402004 6A00 push 0
00402006 6A00 push 0
00402008 FF156A304000 call dword ptr [MessageBoxA]
0040200E 6A00 push 0
00402010 6811104000 push 401011h
00402015 680B104000 push 40100Bh
0040201A 6A00 push 0
0040201C FF156A304000 call dword ptr [MessageBoxA]
00402022 6A00 push 0
00402024 FF1554304000 call dword ptr [ExitProcess]
Regards, Frank