我可以从__asm块外部访问__asm变量吗?

时间:2017-02-01 01:40:35

标签: c++ visual-c++ inline-assembly

我知道__asm块可以访问在这些块之外声明的变量,但我想要做的是找到一种方法来访问在{{1}中声明的变量从这样一个块外面阻止。我对C和C ++的所有了解都表明这应该是不可能的,因为C和C ++在__asm块中的任何范围。有没有办法做到这一点,还是我需要在{}块之外声明这些变量?

PS:我无法从任何搜索中找到此问题的任何相关答案。

1 个答案:

答案 0 :(得分:1)

答案似乎是否

  

Microsoft特定

     

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

     

结束Microsoft特定

从这里https://msdn.microsoft.com/en-us/library/h70hd396.aspx