유닉스 환경에서 C와 C++을 주로해서 시스템/네트워크 프로그래밍을 하다보니 어찌어찌 하다가 커널모듈 프로그래밍과 같은 매우 낮은 수준에서 프로그래밍을 해야될 필요성을 느끼게되었다. 또한 굳이 그러하지 않더라도 유닉스의 시스템환경을 제대로 이해하고 이를 통해서 효과적이고 효율적인 프로그래밍을 하기 위해서는 결국 어셈블리어를 해야 한다는 결론에 도달했다. 예...
당신이 만든 프로그램은 필연적으로 데이터에 대한 조작을 필요로 하며, 이러한 데이터는 메모리에 쓰여지고 읽혀지게 된다. 기본적으로 컴퓨터는 데이터가 어느위치에 놓여야 하는지, 데이터가 어느정도의 저장영역을 필요로 하는지에 대해서 아는 바가 전혀 없으므로, 데이터가 어디에 어떻게 저장될지를 명령(instruction)을 통해서 컴퓨터에게 알려줘야 한다. 이런...
41 POSTS HERE
Linux Assembler 하우투
이 문서는 Linux에서의 어셈블리 언어 프로그래밍에 대한 내용을 다룬다. 리눅스에서는 AT&T문법을 따라는 강력한 어셈블러인 as를 제공한다. 또한 리눅스의 핵심인 gcc 컴파일러는 c로된 코드에 어셈블러를 포함시킬 수 있는 기능을 가지고 있다....
Assembly - Programming from the Ground Up
Assembly - Programming from the Ground Up...
Assembly 관련 문서
Assembly 관련 문서...
Assembly 기초 다지기
유닉스 환경에서 C와 C++을 주로해서 시스템/네트워크 프로그래밍을 하다보니 어찌어찌 하다가 커널모듈 프로그래밍과 같은 매우 낮은 수준에서 프로그래밍을 해야될 필요성을 느끼게되었다. 또한 굳이 그러하지 않더라도 유닉스의 시스템환경을 제대로 이해하고 이를 통해서 효과적이고 효율적인 프로그래밍을 하기 위해서는 결국 어셈블리어를 해야 한다는 결론에 도달했다. 예...
장별로 나누어진 ProgrammingGroundUp
이 문서는 ProgrammingGroundUp의 번역 문서다. 계획으로는 하루 한시간씩을 번역에 투자할 생각이지만 생각처럼 잘 될런지는 모르겠다. 누군가 참여하는 사람이 있다면 훨씬 진행이 빨라질 것이라고 생각된다....
9장. 메모리
당신이 만든 프로그램은 필연적으로 데이터에 대한 조작을 필요로 하며, 이러한 데이터는 메모리에 쓰여지고 읽혀지게 된다. 기본적으로 컴퓨터는 데이터가 어느위치에 놓여야 하는지, 데이터가 어느정도의 저장영역을 필요로 하는지에 대해서 아는 바가 전혀 없으므로, 데이터가 어디에 어떻게 저장될지를 명령(instruction)을 통해서 컴퓨터에게 알려줘야 한다. 이런...
Appendix A. GUI 프로그래밍
Appendix A. GUI 프로그래밍...
Appendix B. x86 명령들
Instructions은 테이블 형태로 설명을 하도록 할 것이다. 이 테이블은 아래와 같은 내용들을 담고 있다. Instruction 코드 사용되는 operands 사용되는 flags instruction에 대한 자세한 설명...
Linux 시스템 콜
여기에서는 리눅스에서 사용하게 되는 중요한 시스템콜들을 간단히 설명하도록 한다. 보통은 시스템콜을 직접사용하기보다는 라이브러리 함수를 이용하는 경우가 더 많기 때문이다. 리눅스 시스템콜 퀵 레퍼런스와 Linux Assembler 하우투문서를 참고하기 바란다....
4장. 함수다루기
4장. 함수다루기...