이게 어떤 어셈블리 form 인지 알고 싶습니다. (우분투에서 gcc 로 컴파일 한 것입니다.)
.LBB2:
.loc 2 676 0
movzbl already_printed_error, %eax
xorl $1, %eax
testb %al, %al
je .L8
movzbl -1048(%ebp), %eax
xorl $1, %eax
testb %al, %al
je .L8
.loc 2 678 0
movl -1044(%ebp), %eax
movl %eax, 8(%esp)
movl $.LC0, 4(%esp)
leal -1028(%ebp), %eax
movl %eax, (%esp)
call sprintf
.loc 2 679 0
leal -1028(%ebp), %eax
movl %eax, (%esp)
call perror
.loc 2 680 0
movb $1, already_printed_error
위와 같이 어셈코드가 나왔는데요.(전체 어셈코드의 극히 일부분 입니다.) 저는 intel form 하고 MIPS form 만 봐서 그런지 조금 생소하네요.
어떤 form 인지 알아야 레퍼런스를 보고 참조할 수 있을 것 같은데요, 아시는 분들은 알려주시면 감사하겠습니다.
우분투에서 gcc 4.3 으로 컴파일 한 것입니다.
Form이 아니고
Form이 아니고 Syntax라고 부릅니다.
올리신 코드는 AT&T Syntax를 사용하고 있습니다.
아니 뭐,, gcc 출력 결과물인 이상 별수 없겠지만요...
(리눅스는 AT&T syntax를 사용합니다.)
Intel-syntax하고는 좀 차이가 좀 많습니다만,
읽기만 한다면야 그리 고생할 일은 없을겁니다.
"AT&T"가 생각이 안나서 잠깐 검색하다가 좋은 자료를 발견했으니
참고하시기 바랍니다.
http://sig9.com/articles/att-syntax
감사합니다.
syntax 라고 하는 것이었군요.
감사합니다!
댓글 달기