Tuuna Computer Science

[Assembly]어셈블리어 명령어2 본문

Assembly

[Assembly]어셈블리어 명령어2

GuTTe 2018. 4. 23. 12:11
MOV BYTE PTR [402000], AL

여기서 BYTE PTR(주소공간)

BYTE : 한번지의 크기  WORD 두번지의 크기 DWORD 4번지의 크기

값을 메모리에 채울 수 도 있고 레지스터에 채울 수 도 있다.

그러나 메모리에서 메모리로는 안된다 . 이럴경우 레지스터에 옮긴다음
메모리로 옮기면 된다.

메모리를 이용할 때에는 첫 번째(시작) 주소를 이용한다.
inter cpu에서는 낮은 자리의 바이트수가 메모리에 먼저
채워진다!

NOP (NO OPERATION) 이건 CPU가 PASS한다.

메모리에 직접 크기를 넣는법.
MOV DWORD PTR [402000], 0 (앞에 바이트 적어줘야함)
그래야 몇 바이트인지 앎.

DS : 데이터 세그먼트 (데이터 영역을 가리키는 거임)
SS : 스택 세그먼트 (스택 영역을 가리키는 것)

데이터를 메모리에 저장할 때 저장되는 방식
LITTLE ENDIAN
BIG ENDIAN

인텔에서는 주소하나당 1BYTE이다.

1. 낮은 자리 수 부터 쓴다. 12345678(즉, 78 56 34 12)
그럼 꺼내어 읽을땐 넣은 자리를 뒤에 넣고 반대로 읽는다. (낮은 자리의 비트수로 채워서 읽는다.)
(INTEL)
2. 큰 자리에서부터 쓴다. 12345678 (즉, 12 34 56 78)
그럼 꺼내어 읽을 땐 넣은 자리부터 읽는다
낮은 자리주소부터 쓰는 것은 동일!




Comments