Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- epoll_wait
- rfc5508
- LOB
- epoll
- .net core 7
- cbpf
- Compiler
- Docker
- vtable
- wrefresh
- packet filter
- edge trigger
- packet flow
- REDIS
- wnourefresh
- 풀이
- 어셈블리어
- ncurses
- ioctl
- NAPT
- .nret core 배포
- 취약점
- iptables
- C언어
- DOCKER-USER
- architecture
- level trigger
- mvwin
- doupdate
- BOF
Archives
- Today
- Total
Tuuna Computer Science
[Assembly]어셈블리어 명령어2 본문
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)
그럼 꺼내어 읽을 땐 넣은 자리부터 읽는다
낮은 자리주소부터 쓰는 것은 동일!
'Assembly' 카테고리의 다른 글
[Assembly]어셈블리어 lea, mov 명령어 차이 (0) | 2018.04.28 |
---|---|
[Assembly] 어셈블리어 명령어(TEST) (0) | 2018.04.24 |
[Assembly] 포인터 이용하기 (0) | 2018.04.23 |
[Assembly] 어셈블리어 명령어3 (0) | 2018.04.23 |
[Assembly]어셈블리어 명령어1 (0) | 2018.04.23 |
Comments