如何修复此汇编语言程序

How to fix this assembly language program

本文关键字:语言程序 汇编 何修复      更新时间:2023-10-16

当我尝试在Visual Studio中编译此代码时,在第13行的":"处出现错误,它说"预期为'('">

#include<stdio.h>
int increase(int x)
{
    int y;
    asm
    (
        " movl %[x], %%eax   n"
        " add $0x01, %%eax   n"
        " movl %%eax, %[y]   n"
        " jmp done           n"
        " done: nop          n"
        : [y] "=m" (y) //Error
        : [x] "m" (x)
        : "eax"
    );
    return y;
}
int main()
{
    int i = 5;
    printf("Original i value = %dn", i);
    i = increase(i);
    printf("Using the Assembly code: new i value = %dn", i);
}

Dude Visual Studio 不支持此asm