For example, the following code FASM will assemble successfully.
USE16
MOV [ECX+0FEh], BX
Assembler's stdout:
flat assembler version 1.73.25 (1048576 kilobytes memory)
1 passes, 7 bytes.
In my mind, 32-bit addresses are not allowed in 16-bit addressing mode. So why does this code get assembled?