검색어 입력폼

ARM system on chip 프로젝트

저작시기 2016.05 |등록일 2017.02.12 한글파일한컴오피스 (hwp) | 9페이지 | 가격 2,000원

목차

없음

본문내용

1. R1, R2, R3 Register에 본인의 학번 뒷부분 세 자리 숫자에 해당되는 숫자를 각각 넣은 후 ( 자릿수가 0 ~ 3인 경우는 4를, 자릿수가 4 ~ 6인 경우는 8을, 자릿수가 7 ~ 9인 경우는 12를 넣는다 ) Shifted register operands를 활용하여 다음 문제를 해결하시오.
1) 4 x R1 을 R4에 저장
2) R2 ÷ 2 를 R5에 저장
3) 7 x R3 를 R6에 저장

ex) 학번이 xxxx357 인 경우, 1) R4 = 4 × R1 = 4 × 4 = 16 2) R5 = R2 ÷ 2 = 8 ÷ 2 = 4 3) R6 = 7 x R3 = 7 x 12 = 84

<중 략>

shifted register 오퍼랜드는 두 번째 레지스터 오퍼랜드를 시프트 시켜서 사용 하는것이다. 위의 명령어를 보면 shifted register 오퍼랜드를 이용하여 r4부터 r6까지 각각 값을 구한것을 알 수 있다. r4=4*r1으로써 나는 LSL shifted register 오퍼랜드 이용하였다. LSL는 왼쪽으로 비트를 이동시키면서 LSB의 빈자리는 0으로 채운다. 왼쪽으로 한비트씩 이동할때마다 2배가 되므로 LSL #2의 경우 2비트가 왼쪽이동으로 4배가 된다. 따라서 r4는 r1의 4배가 됨으로써 r4=4*r1=4*8=32가 된다.
한편 r5=r2/2의 값을 저장하는것으로써 LSR shifted register 오퍼랜드를 이용하여 나눗셈 연산을 진행하였다. LSR shifted register 오퍼랜드는 오른쪽으로 비트가 이동하면서 레지스터 값이 1/2로 감소 된다. 한편 MSB의 빈자리는 0으로 채워진다. r5=r2/2 이므로 r2의 레지스터 값을 오른쪽으로 한비트만 이동시면 되므로 LSR #1를 이용, MOV r5, r2, LSR #1 ;r5=r2/2 이용하여 r5=12/2=6의 값을 구하였다.

참고 자료

없음
다운로드 맨위로