변수와 레지스터 강의 17:15 질문
Q1.
mov rax, [a]를 통해 변수 a의 값을 rax에 할당하였습니다.
디버깅 모드-레지스터창에서는 rax의 값이 0x443333...으로 나와습니다.
메모리창의 a의 값은 0x11, 0x22, ... 의 순서인데 왜 뒤집어진건지 궁금합니다!
Q2.
Q1과 이어집니다만,
a. 16진수 상수를 레지스터에 할당하고 레지스터창을 보면 입력한 값 그대로 들어가 있는 것을 확인하였습니다.
b. 16진수 상수를 변수에 넣은 경우 메모리창을 보면 입력한 값의 순서가 뒤집어져있는 것 같습니다.
어떤 원리가 있는건지 궁금합니다.
ex)
mov [a], byte 0xef
mov [a], word 0xabcd예상 >> ab, cd, 22, 33, ...
실제 >> cd, ab, 22, 33, ...
이 저장 방식이 이해가 되지 않습니다...!
감사합니다.
回答 1
1
바로 다음 강의에서 다뤄주셨습니다!
Byte order 중 Little-endian에 의한 방식으로 낮은 주소 부터 낮은 바이트를 할당하게 되어 순서가 거꾸로 된 것 처럼 보였습니다.
감사합니다!
소스코드와 관련하여 질문드립니다
0
66
1
map 컨테이너의 emplace 함수에 대해
0
109
2
시작이 안되네요...!
0
95
2
EAX 명령어 실행 시 RAX의 상위 32비트가 초기화 되는 이유
0
125
1
리틀 엔디안 장점 질문합니다.
0
130
1
메모리 창에 주소를 넣었는데 영어 꺠짐
0
124
1
타입변환#2 build시 knight 인접 stack이 침범당했다는 error가 발생합니다.
0
94
2
map #1 8분 58초 맵은 레드블랙트리로 이루어진 것 같습니다.
1
138
2
hello world 부터 오류 ㅠㅜ
0
186
1
지역변수가 스택? 레지스터
0
127
2
마지막 문제 질문드립니다.
0
162
2
메모리창이 비활성화됩니다.
0
98
1
이중포인터 강좌 부분 질문있습니다.
0
145
1
2를 더하는 이유
0
132
1
메모리 주소 창 엔디안 질문 드립니다. 인프런 봇 답변도 괜찮습니다
1
109
1
해당 코드는 왜 오류가 날까요?
0
154
1
마지막 문제 질문 있습니다.
0
116
1
강의 마지막부분에 질문이 있습니다.
0
190
2
Field초기화
0
140
1
virtual과 override 차이
0
314
2
3:30 참조자 리턴
0
165
1
map 찾기
0
157
1
프로그램 질문드려요
0
258
1
캐스팅 질문
0
136
1

