现在我知道你可以使用gcc for Intel语法代替默认的at&tgcc -S -masm=英特尔测试. c有一条线mov字PTR [ebp-16],偏移平面:基础和mov dword[ebp-16], base一样吗?不然怎么办?
mov dword[ebp-16], base
ux6nzvsh1#
是,mov dword [ebp - 16], base是将标签地址存储到EBP-16的4字节内存的正确NASM语法。我已经有一段时间没有看到offset flat:了--我认为它已经过时了,但这正是GAS对.intel_syntax noprefix的想法所要求的(我不得不查看GAS的源代码才能找到这一点)。gcc -masm=intel在将符号地址用作立即数时使用它,但offset base在GAS中也可以工作。它的含义与MASM中的offset或NASM中未经修饰的变量名相同。
mov dword [ebp - 16], base
offset flat:
.intel_syntax noprefix
gcc -masm=intel
offset base
offset
1条答案
按热度按时间ux6nzvsh1#
是,
mov dword [ebp - 16], base
是将标签地址存储到EBP-16的4字节内存的正确NASM语法。我已经有一段时间没有看到
offset flat:
了--我认为它已经过时了,但这正是GAS对.intel_syntax noprefix
的想法所要求的(我不得不查看GAS的源代码才能找到这一点)。gcc -masm=intel
在将符号地址用作立即数时使用它,但offset base
在GAS中也可以工作。它的含义与MASM中的
offset
或NASM中未经修饰的变量名相同。