Inferences from https://blogs.msdn.microsoft.com/oldnewthing/20081020-00/?p=... . I also know that 32bit programs could load 16bit modules without issue. In fact that was one of the things that MS was harping on people to not do; was stop using 16bit modules in their 32bit applications (which would have otherwise run fine on 64bit systems). I'm pretty sure it worked because 32bit system DLLS all got a 32 appended to them so the linker and loader would know which version they were going to and ensure that call was routed appropriately.
Edit:
It's also worth noting that 32bit and 16bit instructions are different because of register size operands.
So to speak you're absolutely right... a 16bit read/write COULD do that... but it's a feature, not a bug.
Edit: It's also worth noting that 32bit and 16bit instructions are different because of register size operands.
So to speak you're absolutely right... a 16bit read/write COULD do that... but it's a feature, not a bug.