register

    SystemSoftware - Machine data(Assembly) #2

    SystemSoftware - Machine data(Assembly) #2

    구조체가 메모리에 기록되는 방식을 알아보고 어셈블리어가 어떻게 작동하는지 알아보자 struct rec{ int a[4]; size_t i; struct rec *next; }; Linked List의 메모리 구성과 어셈블리 struct rec{ int a[4]; int i; struct rec *next; }; void set_val(struct rec *r, int val){ while(r){ int i = r->i; r->a[i] = val; r = r->next; } } set_val 함수의 while문에 대한 어셈블리어를 알아보자 // %rdi = r // %rsi = val .L11: moveslq 16(%rdi), %rax// %rax에 i값(시작주소 r에서 16만큼 떨어진) 을 넣어준다 mo..