lea 0x0(,%eax,4),%edx 이런 구문이 있고 cmpl $0x0,(%eax,%edx,1) 이런 구문이 있는데 0x0(,%eax,4)와 (%eax,%edx,1)을 어떻게 해석해야 될 지 모르겠네요. :-) 빠른 답변 부탁드립니다
Regards, SecuRex0.
index 연산자를 통한 간접 주소 지정 방식입니다.
(%eax,%edx,1) 는 인탤 신택스로 [eax + edx] 입니다. 0x0(,%eax,4) 는 [eax * 4] 입니다.
한마디로, 인탤 신택스에서 [base + index*size + disp] 이면 AT&T 신택스에서는 disp(base, index, size) 와 같습니다.
아시다시피, base + index*size + disp 을 계산한 것과 같습니다. 여기서 base와 index 생략 가능하고, size 기본값은 1입니다.
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
간접 주소 지정 방식입니다.
index 연산자를 통한 간접 주소 지정 방식입니다.
(%eax,%edx,1) 는 인탤 신택스로 [eax + edx] 입니다.
0x0(,%eax,4) 는 [eax * 4] 입니다.
한마디로,
인탤 신택스에서 [base + index*size + disp] 이면
AT&T 신택스에서는 disp(base, index, size) 와 같습니다.
아시다시피,
base + index*size + disp 을 계산한 것과 같습니다.
여기서 base와 index 생략 가능하고, size 기본값은 1입니다.
댓글 달기