Convert operand to an offset (for the explanations of 'ea' and 'n' please see 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);