목차
Lab.2 – ARM assembly code
요 약
1. 실습 프로그램의 구성 및 동작 원리
2. 결론
요 약
1. 실습 프로그램의 구성 및 동작 원리
2. 결론
본문내용
1. 실습 프로그램의 구성 및 동작 원리
1) Algorithm
● 곱셈 알고리즘으로 shift, and, 그리고 add를 이용하여 곱셈을 구현한다. 그림으로 나타내면 다음과 같다.
≪ 그 림 ≫
● 승수의 최하위 비트가 1이면 피승수를 곱에 더한다. 그렇지 않으면, 다음 단계로 간다. 다음 두 단계에서 피승수를 왼쪽으로 자리이동 시키고 승수를 오른쪽으로 자리 이동시킨다.
● 주요 Source Code
- cse_mult함수 : 사용한 변수들을 생성하고 기본값을 넣었다
cse_mult:
/* 사용할 레지스터들을 스택메모리에 저장*/
SUB sp, sp, #20
STR r9, [sp, #16]
STR r8, [sp, #12]
STR r7, [sp, #8]
STR r6, [sp, #4]
STR r5, [sp, #0]
MOV r5, r0 /* r5에 승수를 복사*/
MOV r6, r1 /* r6에 피승수를 복사*/
MOV r9, #1 /* 4번 계산할수 있게하는 기준 수*/
MOV r8, #0 /* 최하위 비트 비교 수*/
MOV r7, #0 /* 결과값을 저장 */
b YES1
- YES1함수 : 승수의 최하위 비트가 1일때 적용되는 함수
add연산으로 최하위 비트를 비교했다
1) Algorithm
● 곱셈 알고리즘으로 shift, and, 그리고 add를 이용하여 곱셈을 구현한다. 그림으로 나타내면 다음과 같다.
≪ 그 림 ≫
● 승수의 최하위 비트가 1이면 피승수를 곱에 더한다. 그렇지 않으면, 다음 단계로 간다. 다음 두 단계에서 피승수를 왼쪽으로 자리이동 시키고 승수를 오른쪽으로 자리 이동시킨다.
● 주요 Source Code
- cse_mult함수 : 사용한 변수들을 생성하고 기본값을 넣었다
cse_mult:
/* 사용할 레지스터들을 스택메모리에 저장*/
SUB sp, sp, #20
STR r9, [sp, #16]
STR r8, [sp, #12]
STR r7, [sp, #8]
STR r6, [sp, #4]
STR r5, [sp, #0]
MOV r5, r0 /* r5에 승수를 복사*/
MOV r6, r1 /* r6에 피승수를 복사*/
MOV r9, #1 /* 4번 계산할수 있게하는 기준 수*/
MOV r8, #0 /* 최하위 비트 비교 수*/
MOV r7, #0 /* 결과값을 저장 */
b YES1
- YES1함수 : 승수의 최하위 비트가 1일때 적용되는 함수
add연산으로 최하위 비트를 비교했다
추천자료
Arm assembly Code를 작성하기 위한 Skyeye 설치방법 (Linux기반)
물리실험 2 마이크로웨이브실험 결과 및 예비 레포트
[공학실험]길이 및 구면의 곡률반지름 측정, 힘의 합성, 중력가속도 측정, 강체의 공간운동, ...
(일반물리학 실험)길이, 면적, 부피 및 밀도 측정(예비 및 결과레포트)
[결과레포트] 물리학 및 실험 <길이 및 곡률반경 측정>
[전자공학실험2] 4주차 - #4 Arm ASSEMBLY UART
마이크로 프로세서 응용 및 실험 AVR ATmega32 실험
메카트로닉스 마이크로프로세서를 이용한 디지털 온도계 제작 - 선행과정, 소프트웨어 구성, ...
소개글