GaGe

어셈블리어 07. 리틀엔디안, 빅엔디안 본문

SISS (2017-2018)/어셈블리어

어셈블리어 07. 리틀엔디안, 빅엔디안

Sorrel 2018. 7. 22. 00:54
일단 메모리를 읽는 순서는 주소값이 낮은 것부터 높은 순서대로 읽는 것을 알아야 한다.


메모리를 저장하는 방법에는 리틀엔디언과 빅엔디언이 있다. 둘을 모두 지원하는 것은 미들엔디언이다. 이들은 모두 하드웨어의 구조, 설계의 다름에 차이가 있다.


어떤 값을 저장공간에 저장하라 할 때, 낮은 자릿수부터 저장하면 리틀엔디언, 높은 자릿수부터 저장하면 빅엔디언이다.


따라서 빅엔디언은 앞에서부터 높은자리수라고 이해하며 차례대로 읽으면 되지만 리틀엔디언은 먼저 읽은 것은 낮은 자리수로 이해하면 된다.

3456은 일단 이진수로
00110100 01010110 이다.

3456을 저장할 때 리틀엔디언이면
01101010                    00101100
 좌우대칭의 56.        좌우대칭의 34
으로 메모리에 들어가게 된다.

또한 3456을 빅엔디언으로 저장한다고 하면
00110100 01010110 으로 저장될 것이다.


이 cpu는 리틀엔디언이므로  3456을 저장하면 메모리에는 56 34가 들어가고 그것을 다시 레지스터로 읽으면 34 56이 되는 것을 알 수 있었다.


높은 자릿수도 12345678을 저장한다고 하면
메모리에는 78 56 34 12가 저장되고 그것을 다시 읽으면 12 34 56 78로 레지스터에 읽힌다.


리틀엔디언의 장점
1. 뒤에 있는 자릿수를 읽기 쉽다. (앞에서부터 읽으니까)
2. 앞에 자릿수를 늘리기 쉽다. (메모리 상으로 뒤에 붙이면 되니까)

--> CPU에게 최적화


빅엔디언의 장점
1. 사람이 종이에 이진수를 쓰는 그 순서 그대로 저장하기 때문에 사람이 읽기에 편하다.

'SISS (2017-2018) > 어셈블리어' 카테고리의 다른 글

어셈블리어 09. JMP 2  (0) 2018.07.22
어셈블리어 08. JMP  (0) 2018.07.22
어셈블리어 06. 메모리 크기 지정  (0) 2018.07.15
05. 메모리 주소와 접근  (0) 2018.07.15
어셈블리어 4. 메모리  (0) 2018.07.08
Comments