-
카테고리
-
세부 분야
게임 프로그래밍
-
해결 여부
해결됨
어셈블리 배열 주소에 값 더할 때
21.03.24 22:40 작성 조회수 162
0
강의에서
PRINT_HEX 1, [a+ecx]
여기서 a에 더해줄 수 있는 값이 32bit 이상의 단위 값,
ecx, rcx 만 되고 그 밑의 포맷인 ax,ah,al은 오류가 나면서 안되더군요.
이유가 궁금합니다.
답변을 작성해보세요.
0
Seokjin Kim
질문자2021.03.25
그럼 PRINT 매크로를 사용하지 않고 직접 어셈블리로 구현할 경우에는 저 레지스터를 써도 정상 작동 되는건가요?
주소값에 더할 때, 더할 인자가 꼭 **이상이어야한다 같은 조건이 있는 건가 싶어서요
Rookiss
지식공유자2021.03.26
보통 컴파일러에 의해 만들어진 코드는 eax나 rax로 하겠지만,
주소를 다룰 때 al 등 1바이트 레지스터로 하면 안 된다는 법은 없을겁니다.
답변 1