목차
1. MATRIX.c의 코드 (C 프로그램)
2. MATRIXS.s의 코드 (어셈블리 프로그램)
3. 프로그램 실행
2. MATRIXS.s의 코드 (어셈블리 프로그램)
3. 프로그램 실행
본문내용
atrix
STMFD r13!, {r0-r12};기존 파라미터들을 스택에 임시저장
MOV r3, #10
Arow;A의 행을 증가시키는 루틴
MOV r4, #10
Bcol;B의 열을 증가시키는 루틴
MOV r5, #10
MOV r6, #0;누적변수 초기화
MOV r7, #0;누적변수 초기화
AcolBrow;A의 열과 B의 행을 증가시켜 행렬 곱셈 수행
LDR r8, [r0], #4
LDR r9, [r1], #40
UMULL r9, r8, r8, r9
ADDS r6, r6, r8;상위비트 덧셈 누적
ADC r7, r7, r9;하위비트 덧셈 누적
SUBS r5, r5, #1
BNE AcolBrow
STMIA r2!, {r6, r7}
SUB r1, r1, #396;B의 열을 증가시킴
SUB r0, r0, #40;A의 행을 복구시킴
SUBS r4, r4, #1
BNE Bcol
ADD r0, r0, #40;A의 행을 증가시킴
SUB r1, r1, #40;B의 열을 복구시킴
SUBS r3, r3, #1
BNE Arow
LDMFD r13!, {r0-r12};기존 파라미터들을 복구
MOV pc, lr
END
3. 프로그램 실행
일 때 행렬 곱셈 결과 (10진수로 표기)
STMFD r13!, {r0-r12};기존 파라미터들을 스택에 임시저장
MOV r3, #10
Arow;A의 행을 증가시키는 루틴
MOV r4, #10
Bcol;B의 열을 증가시키는 루틴
MOV r5, #10
MOV r6, #0;누적변수 초기화
MOV r7, #0;누적변수 초기화
AcolBrow;A의 열과 B의 행을 증가시켜 행렬 곱셈 수행
LDR r8, [r0], #4
LDR r9, [r1], #40
UMULL r9, r8, r8, r9
ADDS r6, r6, r8;상위비트 덧셈 누적
ADC r7, r7, r9;하위비트 덧셈 누적
SUBS r5, r5, #1
BNE AcolBrow
STMIA r2!, {r6, r7}
SUB r1, r1, #396;B의 열을 증가시킴
SUB r0, r0, #40;A의 행을 복구시킴
SUBS r4, r4, #1
BNE Bcol
ADD r0, r0, #40;A의 행을 증가시킴
SUB r1, r1, #40;B의 열을 복구시킴
SUBS r3, r3, #1
BNE Arow
LDMFD r13!, {r0-r12};기존 파라미터들을 복구
MOV pc, lr
END
3. 프로그램 실행
일 때 행렬 곱셈 결과 (10진수로 표기)
추천자료
불대수와 논리식의 간략화
교수.학습이론
booth 알고리즘
[컴퓨터구조] 32-bit ALU 설계 및 구현, CPU의 기본 구조를 C언어로 표현, 1 bit ALU부터 32 ...
두숫자사칙연산_어셈블리언어
ASSURE모형 수학 지도안
[수학][수학의 종류][수학과 이론물리학][수학과 수학화][수학과 기호][수학과 양][수학과 오...
6-2)수학-5.분수와 소수의 계산-소수 나누기 분수(1-7)
특수교육 논문 요약본
BCD 덧셈기_예비보고서
3)수학-7. 분수 - 분수의 크기 이해하기
중2-1 수학 요점정리
계산기 프로젝트
[마이크로프로세서 및 실험] Lab.2 – ARM assembly code