I have an array a
of 24 byte structs, arranged without padding so that struct 1 begins 24 bytes after struct 0 ((void*) &a[1] == ((void*) &a[0]) + 24
.
rbx
holds the index of the struct. I'd like to set rdi
to a + rbx*24
and rsi
to a + rbx*24 + 8
. SIB does not allow multiplying by 24. How should I do this?
(x86, 64 bits, assembly).