반응형

어셈블리어 2

[ 컴퓨터구조 ] 명령어

1. 소스 코드와 명령어 우리가 작성하는 소스코드는 컴퓨터 내부에서 명령어로 변환되어 컴퓨터를 작동시킨다. 1.1 고급언어와 저급언어 C, C++, JAVA와 같은 프로그래밍 언어들은 모두 사람들이 이해하기 쉽게 만든 고급언어이다. 반대로 컴퓨터가 직접 이해하고 실행할 수 있는 언어를 저급언어라고 한다. 저급언어는 명령어로 이루어져 있다. 저급언어는 0과1로 이루어진 기계어와 0과1을 전역한 어셈블리어가 있다. 짜피 컴퓨터가 고급언어에서 저급언어로 바꿔주는데 왜 저급언어를 알아냐하냐!!라고 할 수 있지만 하드웨어랑 밀접한 임베디드 개발자, 게임개발자, 정보보안 전문가 등의 개발자들은 어셈블리어를 많이 사용한다. 어셈블리어를 잘 관잘하면 프로그램이 어떤 절차로 작동하는지 이해할 수 있기 때문에 개발자라면 ..

[ 시스템 해킹 ] Computer Science : Assembly

1, 어셈블리 컴퓨터 언어인 기계어는 0과 1로만 구성되어있어 굉장히 이해하기 힘들다. 이에 컴퓨터 과학자 David Wheeler는 EDSAC을 개발하면서 어셈블리 언어와 어셈블러라는 것을 고안하였다. 어셈블러는 개발자들이 어셈블리어로 코드를 작성하면 컴퓨터가 이해할 수 있는 기계어로 코드를 치환해주었다. 역어셈블리어는 역으로 기계어를 어셈블리어 언어로 번역해주어 소프트웨어를 역분석 하기 쉽게 해주었다. 2. x64 어셈블리어 어셈블리어도 종류가 다양하다. x64의 세계에는 x64의 어셈블리어가 있고, ARM의 세계에는 ARM의 어셈블리어가 있다. 우리는 가장 많이 쓰는 x64 어셈블리어를 공부할 것이다. 2.1 기본 구조 어셈블리어의 문장은 명령어와 피연산자로 구성 되어있다. 피 연산자에는 3가지 종..

반응형