C2094:未知标签' sil' - 为什么我无法访问VS2013上的sil寄存器?

时间:2015-08-22 21:10:19

标签: visual-studio assembly

使用Visual Studio 2013,我试图将其编译,但我得到的是C2094:

int main(){
    __asm{
        mov esi, 0x12345678;
        movzx esi, sil;
    }
    return 0;
} // this is line 7

但是,我得到了:

test.cpp(7) : error C2094: label 'sil' was undefined

sil不是标签,而是8位寄存器,它只是esi的最低部分。为什么我无法访问它?

我使用this注册表作为参考。

1 个答案:

答案 0 :(得分:3)

MSVC编译器中有x64 no inline assembly support。所以你可能正在编译32位,但x86中没有sil个寄存器