maha <[EMAIL PROTECTED]> wrote: > So, my question is, since it's the absolut code address, why > it's 0e94 b807, but not 0e94 0f70 ?
Two things: all JUMP and CALL target addresses are based on 16-bit word addresses, so you need to shift your 0xf70 by one to the right, and will yield 0x07b8. Second, the byte order display for both words (0x0e94 *and* 0xb807) is opposite from what you are expecting, so the 0x940e opcode becomes 0x0e 0x94, and the 0x07b8 jump target becomes 0xb8 0x07. That forms your full 0x0e 0x94 0xb8 0x07 instruction sequence. > By the way, how do I modify my makefile for force assembler to > replace all call instruction by icall instructioin? I won't say it cannot be done, as the Makefile can basically wrap any kind of external command, like a stream editor (sed) that could do just this. But what kind of sense would that make? An ICALL instruction would need to be set up through the appropriate registers, so it would take a lot more than just replacing each CALL by an ICALL. -- J"org Wunsch Unix support engineer [EMAIL PROTECTED] http://www.interface-systems.de/~j/ _______________________________________________ AVR-GCC-list mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/avr-gcc-list
