Tuuna Computer Science

[Assembly] insert sort(삽입정렬) 어셈블리 서브루틴 구현 본문

Assembly

[Assembly] insert sort(삽입정렬) 어셈블리 서브루틴 구현

GuTTe 2019. 3. 2. 22:06

이번에 이진탐색을 어셈블리로 구현하기 위해서는 정렬된 배열이 인자로 준비되어있어야 하기에 어셈블리어로 insert sort(삽입 정렬을 구현해봄) 

계속 코드를 작성하다보니 두뇌 최적화가 잘 되어가는듯 ㅎㅎ  

실행중에 segmentation fault가 떴는데 알고보니 ebx레지스터를 decrease해야 하는데 increase해서 문제가 발생했던거... 

함수의 프로토타입은 insert_sort(int integer_array_size, int* integer_array);


처음 어셈블리어로 구구단 출력했을 때 보다 확실히 코드의 길이가 줄어든것을 체감할 수 있었음. 

그리고 C언어로 구현하기 보단 어셈블리로 구현하다보니 변수생성에 메모리를 아낄 수 있는 장점(?)을 발견 

다음은 이진탐색을 (재귀함수)를 어셈블리로 구현해야하네 

Q. 왜 어셈블리 서브루틴을 호출한 장소에선 printf를 호출하면 segmentation fault가 발생하는가





Comments