C++/기초

· C++/기초
지난 포스팅에는 어셈블리어가 무엇이고, 레지스터가 어떤 방식으로 동작하는지 간단하게 가지고 놀아봤다. 이번 포스팅에서는 메모리와 레지스터를 핑퐁하는 전반적인 얘기를 다뤄볼까 한다. Memory(메모리) 우리가 어떤 실행 파일을 만들고 난 후 실행하게 되면 그 파일이 메모리에 올라가게된다. 메모리에 올라갈 때는 여러가지 정보들이 함께 올라가는데 우리가 지정한 값들은 data 영역에 속하게 된다. 메모리에 무언가를 가장 쉽게 올리는 방법은 바로 data와 bss를 사용하는 것이다. 바로 어셈블리어를 통해 알아보자. 변수라는 것은 그냥 데이터를 저장하는데 쓰이는 바구니라고 생각하면 된다. data 변수를 선언하고 사용하기 위해서는 먼저 바구니를 사용하겠다고 알려주어야한다. (이름과 크기를 지정) data 변수..
· C++/기초
어셈블리어란? 어셈블리어란 C나 JAVA 와 같은 사용자와 가까운 고급언어보다 기꼐어와 더 가까운 언어이다. 즉, Low Langague라는 말이다. 기계어와 명령어가 1:1로 대응하고, 기계어는 CPU 종류에 따라 달라지기 때문에 호환성이 없는 언어이다. 주로 임베디드나 커널 프로그래밍 등에 쓰인다. 특징은 다음과 같다. 동일한 종류의 프로레서만 실행된다. 프로세서에 대한 사전지식이 필요한다. 메모리나 입출력장치, 레지스터 등의 구성요소를 직접 다룰 수 있다. 컴퓨터에서 실행하는 과정 등을 이해하기 쉽다. 마지막 특징이 매우 중요하다. 나는 C++를 배우기 이전에 앞서 컴퓨터에서 언어가 어떻게 실행되는 과정을 미리 알아보고 C++의 동작을 연결해보기 위해 먼저 어셈블리어에 대해 다룰 예정이다. SASM..
Mintriever
'C++/기초' 카테고리의 글 목록 (4 Page)