op_plain_offset

Convert operand to an offset
(for the explanations of 'ea' and 'n' please see @hlpIdcop_bin[op_bin]())
     base - base of the offset as a linear address
            If base == BADADDR then the current operand becomes non-offset
Example:
 seg000:2000 dw      1234h
and there is a segment at paragraph 0x1000 and there is a data item
within the segment at 0x1234:
 seg000:1234 MyString        db 'Hello, world!', 0
Then you need to specify a linear address of the segment base to
create a proper offset:
     op_plain_offset(to_ea("seg000", 0x2000), 0, 0x10000);
and you will have:
 seg000:2000 dw      offset MyString
Motorola 680x0 processor have a concept of "outer offsets".
If you want to create an outer offset, you need to combine number
of the operand with the following bit:

#define OPND_OUTER      0x80                    // outer offset base
// Please note that the outer offsets are meaningful only for
// Motorola 680x0.

success op_plain_offset(long ea, int n, long base);

Last updated

Was this helpful?