어셈블리 - 6장

어셈블리 - 6장

Info iconThis preview shows pages 1–8. Sign up to view the full content.

View Full Document Right Arrow Icon
데이타 구조 다차원 배열 structure 주소 계산 요구
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
배열과 주소 접근 • 1 차원 배열 a i- 번째 원소 주소 address(a[i]) = base + offset = address(a[0]) + i * size(a[0]) 주소 계산 코드 ( 가정 : i %i_r 에 기억 , 원소 크기 : 4 byte) sll %i_r, 2, %o0 ! %o0 i * 4 add %fp, %o0, %o0 ld [%o0 + a_s], %o0 ! 주소 : %fp + a_s + i*4 %fp + frame offset 즉 시작주소
Background image of page 2
다차원 배열 a[0][0] a[0][1] a[0][2] a[0][3] a[1][0] a[1][1] a[1][2] a[1][3] a[2][0] a[2][1] a[2][2] a[2][3] a[0][0] a[1][0] a[2][0] a[0][1] a[1][1] a[2][1] a[0][2] a[1][3] a[2][3] a[0][0] a[0][1] a[0][2] a[0][3] a[1][0] a[1][1] a[1][2] a[2][2] a[2][3] int a[3][4] 행우선 열우선 행우선 : C, Pascal 열우선 : Fortran 행번호 열번호 memory
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
다차원 배열 주소 계산 • a[i][j] 의 주소 . 0 i < R, 0 j < C 행우선 addr a[i][j] = addr a[0][0] + (i * C + j) * W 열우선 addr a[i][j] = addr a[0][0] + (j * R + i) * W • addr a[0][0] = %fp + a_s 실행 시간 상하한 검사 : 거의 안함 원소 크기 R: 행의 수 C: 열의 수
Background image of page 4
대부분이 행우선 방법 사용 int arr [ di ][ dj ][ dk ] 에서 인덱스 i , j , k 원소의 주소 % fp + arr _ s +[{ i * dj + j} * dk + k ]*( 원소 크기 ) • 3 차원 배열 a [ 2 ][ 3 ][ 4 ] 에서 a [ 1 , 2 , 3 ] 의 주소는 ? ( dj = 3 , dk = 4 ) 1 : 첫 번째 인덱스 0 을 모두 건너뜀 i * dj * dk 2 : 두 번째 인덱스 0 , 1 을 건너뜀 j * dk 3 : 세 번째 인덱스 0 , 1 , 2 를 건너뜀 k
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
a [ 0 , 0 , 0 ] a [ 1 , 0 , 0 ] a [ 0 , 0 , 1 ] a [ 1 , 0 , 1 ] a [ 0 , 0 , 2 ] a [ 1 , 0 , 2 ] a [ 0 , 0 , 3 ] a [ 1 , 0 , 3 ] a [ 0 , 1 , 0 ] a [ 1 , 1 , 0 ] a [ 0 , 1 , 1 ] a [ 1 , 1 , 1 ] a [ 0 , 1 , 2 ] a [ 1 , 1 , 2 ] a [ 0 , 1 , 3 ] a [ 1 , 1 , 3 ] a [ 0 , 2 , 0 ] a [ 1 , 2 , 0 ] a [ 0 , 2 , 1 ] a [ 1 , 2 , 1 ] a [ 0 , 2 , 2 ] a [ 1 , 2 , 2 ] a [ 0 , 2 , 3 ] a [ 1 , 2 , 3 ]
Background image of page 6
• 4 차원 배열 short ary [ 16 ][ 3 ][ 4 ][ 15 ] 에서 i , j , k , l 원소 접근 ※ 주소 계산 % fp + ary _ s + [{( i * d2 + j ) * d3 + k} * d4 + l ] * 2 d2 = 3, d3 = 4, d4 = 15 ary _ s = - 16 * 3 * 4 * 15 * 2
Background image of page 7

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 8
This is the end of the preview. Sign up to access the rest of the document.

Page1 / 26

&igrave;–&acute;&igrave;…ˆ&euml;&cedil;”&euml;&brvbar;&not; - 6&igrave;ž&yen;

This preview shows document pages 1 - 8. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online