ARM Assembly의 내부구조를 이해하고 명령어를 실행하여, 사용방법을 알아본다.

 1  ARM Assembly의 내부구조를 이해하고 명령어를 실행하여, 사용방법을 알아본다.-1
 2  ARM Assembly의 내부구조를 이해하고 명령어를 실행하여, 사용방법을 알아본다.-2
 3  ARM Assembly의 내부구조를 이해하고 명령어를 실행하여, 사용방법을 알아본다.-3
 4  ARM Assembly의 내부구조를 이해하고 명령어를 실행하여, 사용방법을 알아본다.-4
 5  ARM Assembly의 내부구조를 이해하고 명령어를 실행하여, 사용방법을 알아본다.-5
 6  ARM Assembly의 내부구조를 이해하고 명령어를 실행하여, 사용방법을 알아본다.-6
 7  ARM Assembly의 내부구조를 이해하고 명령어를 실행하여, 사용방법을 알아본다.-7
 8  ARM Assembly의 내부구조를 이해하고 명령어를 실행하여, 사용방법을 알아본다.-8
 9  ARM Assembly의 내부구조를 이해하고 명령어를 실행하여, 사용방법을 알아본다.-9
 10  ARM Assembly의 내부구조를 이해하고 명령어를 실행하여, 사용방법을 알아본다.-10
 11  ARM Assembly의 내부구조를 이해하고 명령어를 실행하여, 사용방법을 알아본다.-11
 12  ARM Assembly의 내부구조를 이해하고 명령어를 실행하여, 사용방법을 알아본다.-12
 13  ARM Assembly의 내부구조를 이해하고 명령어를 실행하여, 사용방법을 알아본다.-13
 14  ARM Assembly의 내부구조를 이해하고 명령어를 실행하여, 사용방법을 알아본다.-14
 15  ARM Assembly의 내부구조를 이해하고 명령어를 실행하여, 사용방법을 알아본다.-15
 16  ARM Assembly의 내부구조를 이해하고 명령어를 실행하여, 사용방법을 알아본다.-16
 17  ARM Assembly의 내부구조를 이해하고 명령어를 실행하여, 사용방법을 알아본다.-17
 18  ARM Assembly의 내부구조를 이해하고 명령어를 실행하여, 사용방법을 알아본다.-18
 19  ARM Assembly의 내부구조를 이해하고 명령어를 실행하여, 사용방법을 알아본다.-19
※ 미리보기 이미지는 최대 20페이지까지만 지원합니다.
  • 분야
  • 등록일
  • 페이지/형식
  • 구매가격
  • 적립금
자료 다운로드  네이버 로그인
소개글
ARM Assembly의 내부구조를 이해하고 명령어를 실행하여, 사용방법을 알아본다.에 대한 자료입니다.
목차
1. Title

2. Name

3. Abstract

4. Experimental Results
1. Flexible second operand
2. ADD, SUB, RSB, ADC, SBC, and RSC
3. AND, ORR, EOR, and BIC
4. CMP, CMN, TST, and TEQ

1. MUL and MLA
2. UMULL, UMLAL, SUMLL and SMLAL
3. SMULxy and SMLAxy

6.Discussion

7.References
본문내용
1. Title
ARM Assembly 실습 2주차
2. Name
3. Abstract
ARM Assembly의 내부구조를 이해하고 명령어를 실행하여, 사용방법을 알아본다.
4. Experimental Results
9) General data processing instructions
1. Flexible second operand

AREA armEx, CODE, READONLY ;name this block of code
mov r0, #5 ;set up parameters, 이 형식은 r0에 10진수 5을 저장한다.
mov r2, #21;set up parameters, 이 형식은 r2에 10진수 21을 저장한다.
mov r3, #10 ;set up parameters, 이 형식은 r3에 10진수 10을 저장한다.
mov r4, #2 ;set up parameters, 이 형식은 r4에 10진수 2을 저장한다.
mov r7, #18 ;set up parameters, 이 형식은 r7에 10진수 18을 저장한다.
mov r5, #1 ;set up parameters, 이 형식은 r5에 10진수 1을 저장한다.
mov r11, #3 ;set up parameters, 이 형식은 r3에 10진수 3을 저장한다.
mov r12, #4 ;set up parameters, 이 형식은 r4에 10진수 4을 저장한다.

ADD r3, R7, #1020 ; 1)r3= r7+1020
AND R0, R5, R2 ; 2)r5와 r2를 and 연산 후 r0에 저장
SUB R11, R12, R3, ASR #5 ; 3)R11 = R12-(R3/25)
MOVS R4, R4, LSR #32 ; 4)R4 = R4/1024
END ; Mark end of file ;

1)에서 ADD 명령은 r7에 있는 18과 1020을 더하여 1038이 나온다. 이를 16진수로 바꾸며 0x000040e가 된다.
2)에서 r5와 r2의 and 연산은 r5의 값이 1이 이므로 둘째자리부터 모두 0이 된다. 따라서 r0에 저장되는 값은 0x0000001이 된다.
3)에서 ASR(Arithmetic Shift Right) 명령은 부호 있는 2의 지수승으로 나누기이다. 따라서 R3의 값을 25로 나눈 후 R11=R12-X의 값으로 계산한다.
4)에서 LSR(Logical Shift Right) 명령은 2의 지수승으로 나누는 명령어이다. 따라서 2/32 = 0.0019531.. 소수점 숫자가 나온다. 이를 AXD에서 표현하지 못하여 R4에 0이 저장된다. 또한 MOV 뒤에 S가 붙어서 조건 플래그의 설정이 이루어지게 된다. 결과값이 0이 되어서 조건 플래그 Z(연산 결과가 모두 0)이 세트되게 된다.
참고문헌
안효복. "ARM으로 배우는 임베디드 시스템“, 한빛미디어(주), 2006.
윤덕용, “어셈블리와 C언어로 익히는 8051 마스터”, Ohm사, 2000.
윤덕용, “ARM7TDMI AT91SAM7S256으로 시작하기”, Ohm사, 2000.
ARM 홈페이지, http://www.arm.com/
하고 싶은 말
전자공학실험 임베디드 리눅스 2주차 리포트입니다.

1주차와는 다른 어셈블리 언어를 사용한 것입니다.

codewarrior for arm developer suite 이용해서 Arm Assembly를 코딩하는 것입니다.