CS (10) 썸네일형 리스트형 [어셈블리] 변수와 레지스터 변수는 데이터를 담는 바구니이다. 변수는 data 영역과 bss 영역에 담을 수 있는데 data에서는 [변수이름] [크기] [초기 값]으로 초기화 된 데이터를 담는다. [크기]는 db(1바이트) dw(2) dd(4) dq(8)이 있다. ex) a db 0x11 bss에서는 [변수이름] [크기] [개수]로 초기화 되지 않은 데이터를 담는다. [크기]는 resb(1) resw(2) resd(4) resq(8) ex) b resw 0x2222 data영역의 데이터들은 초기 값을 알 수 있지만 bss영역의 데이터들은 초기 값이 0으로 고정된다. 그래서 용량이 줄어든다는 장점이 있다. 이제 메모리의 데이터를 레지스터에 넣을 수 있는지 테스트해보자. 먼저 data에 크기가 다른 변수 a,b,c,d를 만들었다. 그리.. [어셈블리] 레지스터 기초 프로그램의 실행에 가장 핵심적인 역할을 하는 3총사로 ALU, 레지스터, 메모리가 있다. 레지스터는 메모리와 하드디스크에 비해 ALU와의 거리가 가장 가깝기 때문에 접근속도가 가장 빠르다. 그래서 ALU에서 계산을 한 데이터를 임시적으로 저장한다. 레지스터는 저장할 데이터에 따라 쪼개서 저장하는데 데이터의 크기에 따라 위 이미지처럼 공간의 명칭이 다르다. mov A, B 는 B를 A에 입력한다. 위의 경우 0x1234를 a 레지스터의 32비트 공간에 입력한다. 0x12345678을 b 레지스터의 64비트 공간에 입력한다. 0xff를 c 레지스터의 8비트 공간에 입력한다. 0x00을 a 레지스터의 8비트 공간에 입력한다. d 레지스터의 64비트 데이터를 a 레지스터의 64비트 공간에 복사한다. 이전 1 2 다음