Assembly Tricore load instruction

1.9k Views Asked by At

for reference of the assembly language see this link

I don't understand what the command

LD.BU      d15,[a15]0x0 

exactly does.... here a specific example:

##What the registers contain BEFORE execution##
D15    0xD0000894
A15    0xD0000894

##What the registers contain AFTER execution##
D15    0x000000DC
A15    0xD0000894

Can anyone shortly explain me this?

1

There are 1 best solutions below

0
On

LD.BU d15,[a15]0x0

It loads a byte from the address held in address register A15 to data register D15 where the value is zero-extended, i.e. the upper 24 bits are set to 0. In C99 this would be something like

uint32_t d15 = * (const uint8_t*) a15;