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 |
Tags
- BOF
- ioctl
- .net core 7
- REDIS
- DOCKER-USER
- epoll_wait
- edge trigger
- rfc5508
- Docker
- epoll
- 풀이
- LOB
- .nret core 배포
- mvwin
- ncurses
- doupdate
- iptables
- cbpf
- wnourefresh
- level trigger
- C언어
- 취약점
- packet filter
- 어셈블리어
- wrefresh
- architecture
- NAPT
- packet flow
- Compiler
- vtable
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