理解这行乘以 8 的 VHDL 代码

Making sense of this line of VHDL code that multiplies by 8

为什么第 2 行是 i * 8?我从一本书中得到了这段代码。

MOV X9,XZR // i = 0
loop1: LSL X10,X9,#3 // X10 = i * 8
ADD X11,X0,X10 // X11 = address of array[i]
STUR XZR,[X11,#0] // array[i] = 0
ADDI X9,X9,#1 // i = i + 1
CMP X9,X1 // compare i to size
B.LT loop1 // if (i < size) go to loop1

LSL 是逻辑左移。数字是二进制的。一班使人数翻倍。所以三班次是二的三次方,即 8.