✨컴공주✨ [1052682] · MS 2021 (수정됨) · 쪽지

2022-10-20 12:28:14
조회수 7,742

컴공 일기195

게시글 주소: https://orbi.kr/00058889093


CPU는 연산장치. 


이 하드웨어에 직접적인 명령을 해서 코드를 짤 수 있는데, 이 때 사용하는 언어를 어셈블리어라고 합니다. 전공 수업에서 쓰는 어셈블리어가 SPARC라고 하는 언어인데,, 요놈이 주로 솔라리스라는 서버에서 돌아가다 보니 홍익대에서도 컴공생들 쓰라고 솔라리스 서버를 운영하고 있습니다. 물론 컴파일 할 때는 C/C++하고는 다른 버전을 써야하긴 합니다. 


개발하면서 어셈블리를 사용할 경우는 임베디드를 제외하면 거의 드물지 않을까 합니다만...

참 웃긴 게, 결국 디버깅을 하다 보면 디스어셈블을 하게 되어 있어요. 그러니까, 어떤 버그가 있어서 무엇이 문제였는지 자세히 알아볼 때 상위레벨의 언어(이를 테면 C언어)를 어셈블리로 치환해서 뜯어볼 줄도 알아야 합니다.


eax 레지스터가 어떻고, esp 레지스터가 어떻고..


함수 호출이 끝났으므로 스택 포인터가 증가됐다는 둥, 함수 프롤로그 코드, 에필로그 코드가 뭐냐는 둥...


그 과정을 자세히 뜯어보려면 결국 디스어셈블을 하게 되어 있습니다. 개인적으로, 코딩을 자주 하지도 않을 언어를 굳이 전공 수업에 배치한 것도 바로 이 능력의 요구 때문이 아닌가 합니다. (아닌가?)  

0 XDK (+0)

  1. 유익한 글을 읽었다면 작성자에게 XDK를 선물하세요.


  • 첫번째 댓글의 주인공이 되어보세요.