4
Intel 구문과 AT & T 구문의 차이점을 이해하려고합니다. (GNU as를 사용하고 있습니다.)
.intel_syntax noprefix
val:
mov eax, val
및 atandt.s :
val:
mov $val, %eax
내가 인텔 버전으로 AT & T 버전으로 변환하려고
나는 두 개의 파일 intel.s 있습니다.
$ objdump -d intel.o
intel.o: file format elf32-i386
Disassembly of section .text:
00000000 <val>:
0: a1 00 00 00 00 mov 0x0,%eax
및
$ objdump -d atandt.o
atandt.o: file format elf32-i386
Disassembly of section .text:
00000000 <val>:
0: b8 00 00 00 00 mov $0x0,%eax
왜 그들이 다른 :하지만 서로 다른 결과를 얻을?
인텔 구문에서 주소를로드하려면 'mov eax, offset val'을 사용해야합니다. – Jester
https://c9x.me/x86/html/file_module_x86_id_176.html 하나는 mov이고 다른 하나는 mov에서 dword –
모두 도와 주셔서 감사합니다. 지금 이해! –