Это пример, который мой учитель привел в C:
while (save[i] == k) i+=1;
Скомпилировано в режиме RIS C -V, где i
в x22
, k
в x24
, save
адрес в x25
:
slli x10,x22,3
add x10,x10,x25
ld x9, 0(x10)
bne x9,x24, EXIT
addi x22,x22,1
beq x0,x0, Loop
Exit:.....
Я не понимаю, почему он использовал сдвиг влево при немедленном (slli
)