Hi m_fox,
> this is produced string:
> :04000003200001C810
>
> WHY???
Because it is the correct format for intel-hex. The address is specified
as CS:IP (code segment register value:instruction pointer register value).
Together they form a
20-bit segmented address.
> it should be
> :04000003000201C82E
No, this would generate the linear address 000_01e8. The first two bytes "2000"
represent bits [19:4], the second two are bits [16:0] ... the two values are
added together in the proper bit positions. Basically, the correct values
are added like this:
20000 (CS)
001c8 (IP)
--------------
201c8 (20-bit linear)
> does it bug in objcopy or in elf file?
No, it is not a bug.
Regards,
--Scott