Visual c++ 内联汇编的初学者问题

Visual c++ 内联汇编的初学者问题,visual-c++,assembly,inline-assembly,Visual C++,Assembly,Inline Assembly,我使用VS2008 C++(没有LIBS)。这是我的代码: __asm { jmp start msg: db "http://www.stackoverflow.com" dtfld: db "00/00/0000" tmfld: db "00:00:00" start: 我收到以下错误: 错误1错误C2400:“操作码”中的内联汇编程序语法错误;找到“坏令牌” 错误2错误C2400:“操作码”中的内联汇编程

我使用VS2008 C++(没有LIBS)。这是我的代码:

    __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:“操作码”中的内联汇编程序语法错误;发现“坏令牌”

这是为什么?

引自:

虽然一个.ASM块可以引用C或C++数据类型和对象,但它不能用MASM指令或操作符定义数据对象。具体来说,不能使用定义指令DB、DW、DD、DQ、DT和DF,也不能使用运算符DUP或THIS。MASM结构和记录也不可用。内联汇编程序不接受指令STRUC、RECORD、WIDTH或MASK


为什么“db”是无效的令牌?但是你应该能够引用在实际C++中定义的字符串常量,所以在这种情况下你不会损失很多。