ISA와 어셈블리

위의 RISC-V 코드를 실행한 후 레지스터 a2의 값은 얼마인가?

addi a0, zero, 5
addi a1, a0, 3
add  a2, a0, a1
  1. A8
  2. B13
  3. C15
정답과 해설 보기

정답: B. 13

1행은 zero(항상 0)에 5를 더해 a0=5, 2행은 a0에 3을 더해 a1=8, 3행은 a0와 a1을 더해 a2=5+8=13이 됩니다. RISC-V의 산술 명령어는 '명령어 쓰기 대상, 읽기 원본1, 읽기 원본2(또는 즉치값)'의 순서로 쓰며, 첫 번째 레지스터가 결과가 들어가는 곳입니다. zero는 x0의 별칭이며 상수를 만들 때 자주 사용합니다.

이 분야 연습하기 분야로 돌아가기

ISA와 어셈블리의 다른 문제

  1. RISC-V 명령어 'lw t0, 8(sp)'의 동작으로 올바른 것은?
  2. RISC-V의 조건 분기 명령어 'beq a0, a1, label'에서 분기 대상 label의 주소는 어떻게 표현되는가?
  3. 분기나 점프에 PC 상대 주소 지정을 사용하는 것의 이점으로 올바른 것은?
  4. RISC-V의 기본 명령어와 x86 명령어의 길이에 대해 올바른 것은?
  5. 명령어 길이를 고정 길이로 하는 것의 이점으로 가장 적절한 것은?