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).