강의 관련...
답변 1
1
작은 바구니 8개나, 큰 바구니 1개 정도의 차이겠죠.
move [a], ??? 0x55에서 ???은 데이터 크기가 얼마 짜리인지를 알려주는데
1바이트 라는 것을 암시하기 위해 byte를 쓴겁니다.
(0x0055나 0x55나 동일하기 때문에 숫자 몇개를 써야 하는지는 무관합니다)
계산해보면 4비트를 차지합니다.
따라서 16진수 2개 (ex. 0xFE)는 2배인 8비트이고, 8비트 = 1바이트입니다.
0
그렇다면 1번에서 변수 e를 resb 8로 선언해야 하는 상황과 resq 1로 선언해야 하는 상황에 차이가 있는지, 차이가 있다면 어떤 상황에 resb 8이라고 선언해야 하고 어떤 상황에서 resq 1이라고 선언해야 하는지 궁금합니다!
그리고 2번에서는 byte 0x0055나 word 0x66으로 작성하더라도 byte 0x0055에서는 데이터를 byte라 선언했기 때문에 0x55로 인식하고 word 0x66에서는 데이터를 word라 선언했기 때문에 0x0066으로 인식하게 되는 것인가요? 그리고 그렇기에 byte 0x5555로 바꾼 채 실행하게 되면 실행오류가 생기게 되는 것인지 궁금합니다!(어떻게 하더라도 1바이트 크기로 되는 게 불가능한 상황)
0
그렇다면 1번에서 변수 e를 resb 8로 선언해야 하는 상황과 resq 1로 선언해야 하는 상황에 차이가 있는지, 차이가 있다면 어떤 상황에 resb 8이라고 선언해야 하고 어떤 상황에서 resq 1이라고 선언해야 하는지 궁금합니다!
코딩이 처음이라면 이 부분은 나중에 차차 알게 되십니다.
C++로 치면 char 변수 8개 만드는거랑
long long 변수 1개를 만드는 정도의 차이입니다.
그리고 2번에서는 byte 0x0055나 word 0x66으로 작성하더라도 byte 0x0055에서는 데이터를 byte라 선언했기 때문에 0x55로 인식하고 word 0x66에서는 데이터를 word라 선언했기 때문에 0x0066으로 인식하게 되는 것인가요?
네 그렇습니다.
그리고 그렇기에 byte 0x5555로 바꾼 채 실행하게 되면 실행오류가 생기게 되는 것인지 궁금합니다!(어떻게 하더라도 1바이트 크기로 되는 게 불가능한 상황)
이런건 실험을 통해 학습 하시는게 좋습니다.
안될 것 같네요.
0
앗 3번째 항목은 이미 실험을 통해 실행오류가 나는 것을 확인한 상태에서, 오류의 원인이 2번째 항목에서 제가 이해한 내용과 동일한 것인지 여쭤보는 것이었는데
중의적으로 작성되어서 오해가 생겼던 것 같습니다;;
그래도 궁금했던 부분이 모두 해결된 것 같습니다 정말 감사합니다!
visualstudio에서 파일분할관리실습시 설정 문의를 드립니다.
0
559
1
정렬함수 좀 더 확실하게 이해 할 방법이 있을까요?
0
453
1
strcpy() 구현 관련 질문
0
536
1
빌드(망치)를 누르니 이런 오류가 떴습니다. 어떻게 해야 하나요?
0
475
1
클래스 타입의 포인터 질문합니다
0
559
1
입력값을 enum 값에 넣어주는거 이제 막혔나요?
0
503
1
템플릿 특수화 관련 질문
0
390
1
포인터 관련 질문합니다!
0
271
1
Unable to start assembler. Check your settings.
0
849
2
cpu선택
0
549
1
포인터 질문이 있습니다
0
331
1
20:35 에서 구조체 크기에 대한 질문입니다!
0
589
1
iterator 삭제관련
0
415
1
함수 호출을 디스어셈블러로 분석하다가 궁금점이 생겼습니다!
0
316
1
15 분 45초 대 질문
0
317
0
스택 프레임 질문합니다!
2
312
1
오른값 참조 in 게임
0
391
0
동적할당 질문이 있습니다
0
457
1
안녕하세요 메모리에 대해 질문드립니다.
0
312
1
함수객체 의 매개변수
0
366
1
복사생성자
0
439
1
main이나 endl 부분이 주황색으로 표시된건 어떻게 하나요
0
430
1
포인터 실습 강의를 보고 궁금한게 있습니다.
0
359
1
스택 오버플로우
2
801
1





