2

我正在使用 VS2008 C++(无库)。这是我的代码:

    __asm
    {
    jmp start
msg:
          db "http://www.stackoverflow.com"
dtfld:
          db "00/00/0000"
tmfld:
          db "00:00:00"
start:

我收到以下错误:

错误 1 ​​错误 C2400:“操作码”中的内联汇编语法错误;发现“错误令牌”
错误 2 错误 C2400:“操作码”中的内联汇编语法错误;发现“错误令牌”
错误 3 错误 C2400:“操作码”中的内联汇编语法错误;发现“坏令牌”

为什么是这样?

4

1 回答 1

4

引自Inline Assembly (Microsoft) 中的数据指令和运算符

尽管 __asm 块可以引用 C 或 C++ 数据类型和对象,但它不能使用 MASM 指令或运算符定义数据对象。具体来说,您不能使用定义指令 DB、DW、DD、DQ、DT 和 DF,或运算符 DUP 或 THIS。MASM 结构和记录也不可用。内联汇编器不接受指令 STRUC、RECORD、WIDTH 或 MASK。

于 2010-02-05T18:45:59.697 回答