Don't put any members after these buffers, since only the first 32 bytes of this struct can be accessed quickly using the ldd instruction

The LDD (Load Indirect with Displacement) instruction is a variant of the LD (Load Indirect) instruction. It uses the Y register as a pointer and a six-bit displacement to offset the address. The displacement is a value from 0 to 63. I think what they are trying to say is that if you have a 'struct' of 64 bytes or fewer you can load any byte of the struct with one LDD instruction after loading the Y pointer only once.

This has nothing to do with the buffer arrays since the byte to be fetched is not known at compile time.

The 16-bit opcode is:
10q0 qq0d dddd 0qqq
d bits are the register to load
q bits are the displacement value

2 Likes