문제

이진을 이해하기 위해 objdump를 사용하여 ASM 구문에서 충분히 유창하지 않다는 것을 알고 있습니다. 다음 개념은 무엇을 의미합니까?

xor    %al,-0x1(%edx,%ecx,1)

그리고 당신이 그것에있는 동안 - 그러한 개념에 대한 문서를 찾기 위해 무엇을 검색해야합니까?

도움이 되었습니까?

해결책

괄호는 메모리 오프셋입니다.

-0x1(%edx,%ecx,1) (AT & T 구문)은 동일합니다 [edx+ecx*1-1] (인텔 구문)

빠른 가이드 AT & T 어셈블리 구문 (귀하의 요청에 따라).

다른 팁

이것은 'a'레지스터의 낮은 바이트 (%al)의 독점 또는 내용과 주소의 메모리 내용이 32 비트 너비 레지스터 'd'(%edx), 'c의 합인 내용입니다. '1 (%ecx, 1) 및 -1을 곱한다. 결과는 %al에 다시 기록됩니다. c

al ^= (char*)(edx+ecx*1 - 1);

당신은 이런 것들을 조회 할 수 있습니다 샌드 파일 또는 인텔/AMD 문서에서.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top