4
私はIntel構文とAT & T構文(私はGNU asを使用しています)の違いを理解しようとしています。
.intel_syntax noprefix
val:
mov eax, val
とatandt.s:
val:
mov $val, %eax
私はインテルのバージョンにAT & Tのバージョンを変換しようとしています
は、私は2つのファイル、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
は、なぜ彼らが異なっている。しかし、私は別の結果を得ますか?
int構文では、アドレスをロードするために 'mov eax、offset val'を使うべきです。 – Jester
https://c9x.me/x86/html/file_module_x86_id_176.html mov即時、その他movからdword –
ありがとうございました。今理解している! –