Visual Studio中的汇编/ C ++参数传递('操作码'中的内联汇编语法错误;找到'坏令牌')

时间:2012-12-15 14:51:13

标签: c visual-studio assembly inline-assembly

我正在尝试使用Visual Studio编写一个程序,该程序调用包含一些优化汇编代码的C ++函数。我对大会很新。

我生成了一些装配,我看到了:

PUBLIC  ?MYFUNCTION@@YAXQAHH@Z      ; MYFUNCTION<br />

; Function compile flags: /Odtp /RTCsu /ZI

;   COMDAT ?MYFUNCTION@@YAXQAHH@Z

_TEXT   SEGMENT
_i$66807 = -8                       ; size = 4
_arr$ = 8                       ; size = 4
_size$ = 12                     ; size = 4
...

我想用

替换它
void myOptimizedAssemblyFunction (int arr[], int size)
    __asm {
_i$66807 = -8                       ; size = 4
_arr$ = 8                       ; size = 4
_size$ = 12                     ; size = 4

但编译器抱怨

error C2400: inline assembler syntax error in 'opcode'; found 'bad token'

我应该怎么处理这个错误? 这些生成的程序集是什么意思? 我应该将几个寄存器设置为-8,8,12并使用它们吗?

0 个答案:

没有答案