【问题标题】:Does FASM uses Intel Syntax?FASM 是否使用英特尔语法?
【发布时间】:2014-12-29 01:32:16
【问题描述】:

我曾尝试在 FASM 中编译以下代码:

mov DWORD PTR [ebp - 4], 1234567  

它给了我一个“无效的表达式”错误。但是以下代码有效:

mov DWORD [ebp - 4], 1234567 

那么 FASM 是否使用英特尔语法(我假设第一行代码符合英特尔语法)?

【问题讨论】:

  • 不幸的是,没有单一的 intel 语法。它主要用作区别于 at&t 的术语,并具有一些通用特性,例如 dst、src 操作数顺序,但除此之外它具有多种风格。请查阅 fasm 手册以了解它接受的内容。

标签: assembly x86 fasm


【解决方案1】:

它给了我一个“无效的表达式”错误。

与 MASM(和其他)不同,FASM 不需要“ptr”。

那么 FASM 是否使用英特尔语法?

是的。

但是不同的汇编器之间还是有一些区别的,例如:

加载地址:

  • MASM:mov eax, offset memvar
  • FASM:mov eax, memvar

加载一个值:

  • MASM:mov eax, memvar
  • FASM:mov eax, [memvar]

我建议你阅读FASM Programmer's Manual

【讨论】:

    猜你喜欢
    • 2013-04-10
    • 1970-01-01
    • 2012-10-22
    • 1970-01-01
    • 2016-01-12
    • 2021-02-06
    • 1970-01-01
    • 1970-01-01
    • 2017-10-20
    相关资源
    最近更新 更多