Hi All,
I'm trying to reverse engineer some 16 bit ROM code, and am having problems with operand sizes. The disassembled code contains the following :
installed_hardware equ 0010h
or word[installed_hardware],0040h
In the rom code this is represented by the bytes :
81 0E 10 00 40 00
This contains both a 16 bit pointer and a 16 bit value, however when assembled with NASM I get :
83 0E 10 00 40
This has the 16 bit pointer but only an 8 bit value
Changing the code to
or word[installed_hardware], word 0040h
Seems to have no effect on the bytes that are output.
Am I doing something wrong or is this a bug, if it's my error how should I write the instruction so that it assembles to the correct binary form ?
Cheers,
Phill.