0x01. 어셈블리 언어란 ? & 배우는 목적 CPU 에는 해당 프로세서에 명령을 내리기 위해 고유의 명령어 세트가 마련되어 있는데 이 명령어 세트를 기계어라고 한다 . 이 기계어는 숫자들의 규칙조합임으로 프로그래밍에 상당 히 난해하다 . 그래서 이 기계 명령어를 좀더 이해하기 쉬운 기호 코드로 나타낸것 ( 기계어와 1:1 로 대응된 명령을 기술하는 언어 ) 이 어셈블리어이다 . 어셈블리 언어는 그 코드가 어떤 일을 할지를 추상적이 아닌 , 직접적으로 보여준다 . 논리상의 오류나 , 수행 속도 , 수행 과정 에 대해 명확히 해준다는 점에서 직관적인 언어이다 . 어셈블리 언어를 사용하면 메모리에 대한 이해도도 높아진다 . 어셈블리를 익히고 , 배우는데 있어서는 여러 가지 목적이 있을 수 있다 . 컴퓨터 시스템 & 구조를 좀 더 깊게 이해하고 , 메모리상의 데이터나 I/O 기기를 직접 액 세스 하는등의 고급언어에서는 할 수 없는 조작을위해서이다 . 프로그램의 최적화 및 리버 스 엔지니어링을 위해서도 필요하다 . + 2 줄 요약 + - 어셈블리 언어는 기계어와 1:1 대응을 하는 언어이다 . - 어셈블리 언어를 배우면 시스템을 이해하는데 도움이 된다 . 0x02. 어셈블리를 위한 기본 지식 (1) 기본적인 하드웨어 1) CPU - 메모리에 있는 내용을 읽고 , 쓰고 데이터를 메모리와 각 레지스터로 보낸다 . 프로그램의 명령을 해석하고 실행한다 . 하나의 프로세서는 12~14 개의 레지스터를 가 지고 있으며 , CPU 의 연산 , 논리 장치는 숫자와 기호에 관한 연산자를...
댓글
댓글 쓰기