Displaying 2 results from an estimated 2 matches for "avr_lo8_ldi".
2017 Jul 11
6
RFC: Harvard architectures and default address spaces
...g on whether pointers are located in data space or program
space.
Take the ICALL instruction - it performs an indirect call to the pointer
stored in the Z register.
We must first load the pointer into Z via the ‘ldi’ instruction. If the
pointer is actually a pointer to a symbol, we need to emit a AVR_LO8_LDI_GS
relocation, otherwise we emit a AVR_LO8_LDI relocation. There are a few
other cases, but they’re irrelevant for this discussion.
We can quite easily look at the GlobalValue* that corresponds to the
pointer if it is a symbol and select the fixup based on that, but that
assumes that the address s...
2017 Jul 11
2
RFC: Harvard architectures and default address spaces
...ata space or program
> space.
>
> Take the ICALL instruction - it performs an indirect call to the pointer
> stored in the Z register.
>
> We must first load the pointer into Z via the ‘ldi’ instruction. If the
> pointer is actually a pointer to a symbol, we need to emit a
> AVR_LO8_LDI_GS relocation, otherwise we emit a AVR_LO8_LDI relocation.
> There are a few other cases, but they’re irrelevant for this discussion.
>
> We can quite easily look at the GlobalValue* that corresponds to the
> pointer if it is a symbol and select the fixup based on that, but that
> as...