2011-10-13 1 views
0

다음 연결리스트 노드가 C에 선언 :MIPS 구조체 노드

struct node { 
 double val; 
    struct node *next; 
} 

더 20 개 이상의 링크 노드가 문제가 필요하지 않습니다 있다고 가정하자. 연결된 목록에 20 노드 공간을 예약하는 MIPS 문은 무엇입니까?

+0

, 수정하시기 바랍니다 이 하나는 당신이 시도한 것입니다. – brc

답변

1

C에서 그렇게 할 수 있으며 C 컴파일러에서 생성 된 결과 어셈블리를 확인할 수 있습니다. 어쨌든 ...

배정 밀도 부동 소수점 -> 64 비트

포인터 -> 32 비트

전체 구조체의 크기 -> 복식 정렬 + 32 비트 96 비트 -> 128 비트

20 구조체 + 1 머리 목록 포인터 (가 시작 요소에 하나의 포인터 간단한 목록입니다 가정) -> 20 × 128 + 32 = 2592 비트

다른 질문으로
.space 2592 
+0

64 비트 두 배가 64 비트 경계에 정렬되도록 구조 당 또 다른 32 비트가있을 수 있으므로 구조 당 128 비트가됩니다. – markgz

+0

이것이 우리가 말하는 MIPS 버전에 달려 있다고 생각하지만 그렇습니다. – m0skit0