ARM32 코드 해석 문제
문제 유형
ARM 어셈블리 코드 해석
포인트
분기와 레지스터 역할 읽기
문제 1. 3의 배수 처리 코드
아래 ARM 코드는 R0와 R1를 이용해 반복문을 돌면서 특정 시점에 multiple_of_3 라벨로 분기합니다. 이때 3의 배수를 찾았을 때 코드가 실제로 하는 동작을 가장 적절하게 고르세요.
.global _start
.text
_start:
MOV R0, #1
MOV R1, #1
loop:
CMP R0, #101
BEQ end_program
CMP R1, #3
BEQ multiple_of_3
ADD R0, R0, #1
ADD R1, R1, #1
B loop
multiple_of_3: @3의 배수 숫자 처리
ADD R0, R0, #1
MOV R1, #1
B loop
end_program:
BX LR