ISA와 어셈블리
RISC-V(RV32I)에서 'addi t0, zero, -1'을 실행한 후 t0에 들어 있는 32비트 값은?
- A0xFFFFFFFF
- B0x00000FFF
- C0x80000001
정답과 해설 보기
정답: A. 0xFFFFFFFF
즉치값 -1은 12비트로는 0xFFF로 표현됩니다. addi는 이를 32비트로 부호 확장, 즉 최상위 비트의 1을 위쪽 자리 전부에 복사하므로 0xFFFFFFFF가 되며 2의 보수로 -1을 나타냅니다. 부호 확장 덕분에 음수 즉치값을 더하는 것만으로 뺄셈을 할 수 있습니다. 상위를 0으로 채우면 0x00000FFF=4095가 되어 의미가 달라집니다.