Using “assemble” option to patch binary files in IDA, you will receive an invalid operation error every time you enter an arithmetic instruction with calculated offset. For example:
mov [bp-4], bx
Invalid operate error occurred
however
mov ax, bx
success. The official explanation is that the function support of modification instruction is relatively small, so it needs to be modified by other methods.