illegal reference to 16-bit data in 'identifier'
A 16-bit register was used as an index or base register.
The 32-bit targeted compiler does not support referencing 16-bit data, which is supported by the chip using the address size prefix. This means that 16-bit registers cannot be used as index or base registers if you are compiling for 32-bit code.
The following is an example of this error:
_asm mov eax, DWORD PTR [bx]