AT&T 어셈블리에서
글쓴이: declspec / 작성시간: 토, 2011/11/19 - 11:08오후
at&t 어셈블리 문법에서
lea (%esi), %ecx
이런 코드가 있다고 할때. 이거는 결국
mov %esi, %ecx
랑 똑같은거 아닌가요? 차이점이 있나요?
그리고 mov 0x08(%esp, 1), %ebx
이런 코드가 있는데, 여기서 %esp 오른쪽에 있는 1 은 뭔가요??
AT&T 어셈블리 문법들과
인텔 어셈블리 문법들에 대해서
쉽고 구체적으로 잘나온 책 없을까요?
그리고 movl 은 4바이트, movw 는 2바이트 movb 는 1바이트를
이동하는 l, w, b 등의 접미사가 있는데
이 접미사를 생략하고 그냥 mov 이렇게 하면
언제나 4바이트씩 옮기는건가요? 그렇다면 movl 은 왜필요한건지..?
Forums:
x86 명령어
http://www.intel.com/design/processor/manuals/253666.pdf
http://www.intel.com/design/processor/manuals/253667.pdf
를 참고하셔서 삼아서 모르는 명령어(어셈코드)가 나올때마다 찾아보세요.
mov(b,w,l)은 AT&T 어셈블러에서 지원해주는 접미사 같군요.
mov 명령어는 오퍼랜드에 따라 연산 단위가 결정됩니다.
Just do it!
댓글 달기