요즘도 쓰는 언어 어셈블리

x86_64, AMD64, 64bit

요즘도 쓰는 언어 어셈블리

| 공개
2016.2.26 "리눅스 커널에서 ACCESS_ONCE 이해하기"  챕터 추가
2016.2.17 1차 완결했습니다. 너무 부족한 내용이 있으시면 댓글로 알려주세요. 감사합니다.
이전 강좌도 그렇고 일부러 자세히 설명하지 않고, 그림도 하나도 안만들었습니다. 직접 손으로 해보면서 강좌에서 설명한게 이거구나하고 발견하고, 그럼 이건 어떨까 저건 어떨까하고 이것저것 상상해서 더 알아가는 공부가 되셨으면 합니다. 너무 자세한 개발책은 눈으로 볼때는 알것 같아도 다 보고나면 하나도 기억이 남지 않자나요 ;-)

요즘 64비트 시대의 어셈블리 프로그래밍??

제목을 뭐라 해야할지 모르겠습니다. 제 의도는 현업 개발자들에게 필요하거나 취미 개발자나 학생들이 즐길고 탐구할만한 주제을 제시하는 것입니다. 현업개발자들에게는 하드웨어와 마주치는 경계선에 대해서 소개하고 싶고, 취미 개발자들이나 학생들에게는 이런 방향으로도 파고들 필요가 있다는걸 제시하고 싶습니다.

지금까지 어셈블리 공부하면서 남긴 자료들인데 오래전에 기록한 것들이라 16/32비트가 대부분입니다. 이번 기회에 64비트로 정리하면서 강좌로 남기도록 하겠습니다.

https://gurugio.kldp.net/wiki/wiki.php/asm_basic

대부분의 개발분야의 업무에 직접 적용할만한 내용은 아닐 것입니다. 저는 커널 개발을 해서 커널 디버깅을 해야하기때문에 자주 어셈블리 코드를 보면서 디버깅을 하지만, 커널보다 윗 레벨 개발을 하시는 분들은 사실 별로 필요없는 내용이실 겁니다. 업무에 필요한 내용이 필요하시다면 다른 업무에 필요한 좋은 글을을 보시길 권합니다.

만약 재미를 찾으신다면 환영합니다 ;-)

 

ps. 이 강좌는 길지 않습니다. 8086과 64비트 환경에 대한 차이가 중심이 됩니다. 최신 프로세서의 구조등 더 깊은 내용은 참고 자료들을 확인하시기 바랍니다. 강좌 하나가 다룰 수 있는 내용이 아니니까요. 더 깊이 들어가기 위한 이정표가 되는게 이 강좌의 목표입니다. 초보자가 초보인 이유가 뭘 더 해야할지 몰라서인데, 내가 뭘 모르는지를 알면 초보를 벗어나는 것은 시간과 노력의 문제가 되니까요.

 

댓글

댓글 본문
작성자
비밀번호
graphittie 자세히 보기