ISA와 어셈블리
RISC-V 명령어 'slli t0, a0, 3'의 결과 t0는 a0 값의 몇 배가 되는가? (오버플로는 고려하지 않음)
- A8배
- B3배
- C6배
정답과 해설 보기
정답: A. 8배
slli(shift left logical immediate)는 레지스터의 값을 지정한 비트 수만큼 왼쪽으로 시프트하고 빈 하위 비트를 0으로 채웁니다. 2진수에서는 1비트 왼쪽으로 시프트하면 2배가 되므로 3비트라면 2의 3제곱=8배입니다. 곱셈 명령어보다 빠른 경우가 많으므로 컴파일러는 2의 거듭제곱 곱셈을 시프트로 치환합니다. 배열 요소의 주소를 계산할 때도 자주 사용됩니다.