ISA와 어셈블리
RISC-V addi 명령어의 즉치값은 12비트 부호 있는 정수이다. 이 즉치값으로 나타낼 수 있는 범위는?
- A0~4095
- B-2048~2047
- C-4096~4095
정답과 해설 보기
정답: B. -2048~2047
12비트 2의 보수로 나타낼 수 있는 것은 -2의 11제곱=-2048부터 2의 11제곱-1=2047까지입니다. 즉치값은 계산 전에 32비트(RV64에서는 64비트)로 부호 확장되므로 음수도 그대로 더할 수 있습니다. 이 범위를 넘는 상수를 사용하려면 상위 20비트를 lui 명령어로 설정한 뒤 addi로 하위 12비트를 더하는 등 여러 명령어를 조합합니다.