一个小问题(在线等)!

时间:2022-06-30 17:36:31
请问vc中我要包含汇编语言的程序,需要加什么头文件,还是需要别的东西,自己做?

7 个解决方案

#1


_asm
{
    // 这里是你的汇编语句
}

#2


// Example of the __asm keyword
__asm                  // __asm block
{
   mov eax, 01h
   int 10h
}

__asm mov eax, 01h      // Separate __asm lines
__asm int 10h

// Multiple __asm statements on a line
__asm mov eax, 01h   __asm int 10h

#3


少了一个_

#4


这是我的汇编程序,void  HDOutWord(WORD Addr,WORD Value)
{
  asm{
        push dx
        push    ax
        mov dx,Addr
        mov ax,Value
        #ifndef _DEBUG_HD_
            out dx,ax
        #endif
        pop ax
        pop dx
    }
}
结果编译时候出现错误:
E:\2004.8.26\Control.cpp(15) : error C2065: 'push' : undeclared identifier
E:\2004.8.26\Control.cpp(15) : error C2146: syntax error : missing ';' before identifier 'dx'
E:\2004.8.26\Control.cpp(15) : error C2065: 'dx' : undeclared identifier
E:\2004.8.26\Control.cpp(15) : error C2146: syntax error : missing ';' before identifier 'push'
E:\2004.8.26\Control.cpp(16) : error C2146: syntax error : missing ';' before identifier 'ax'
E:\2004.8.26\Control.cpp(16) : error C2065: 'ax' : undeclared identifier
E:\2004.8.26\Control.cpp(16) : error C2146: syntax error : missing ';' before identifier 'mov'
E:\2004.8.26\Control.cpp(16) : error C2065: 'mov' : undeclared identifier
等等,我认为是没有包含头文件之类,所以不认

#5


__asm这个。。。

#6


你没加_这个下划线当然编译通不过了。_asm才是关键字,asm什么都不是。编译器把asm当作变量了。。。

#7


来晚了,楼上的已经回答得很清楚了

#1


_asm
{
    // 这里是你的汇编语句
}

#2


// Example of the __asm keyword
__asm                  // __asm block
{
   mov eax, 01h
   int 10h
}

__asm mov eax, 01h      // Separate __asm lines
__asm int 10h

// Multiple __asm statements on a line
__asm mov eax, 01h   __asm int 10h

#3


少了一个_

#4


这是我的汇编程序,void  HDOutWord(WORD Addr,WORD Value)
{
  asm{
        push dx
        push    ax
        mov dx,Addr
        mov ax,Value
        #ifndef _DEBUG_HD_
            out dx,ax
        #endif
        pop ax
        pop dx
    }
}
结果编译时候出现错误:
E:\2004.8.26\Control.cpp(15) : error C2065: 'push' : undeclared identifier
E:\2004.8.26\Control.cpp(15) : error C2146: syntax error : missing ';' before identifier 'dx'
E:\2004.8.26\Control.cpp(15) : error C2065: 'dx' : undeclared identifier
E:\2004.8.26\Control.cpp(15) : error C2146: syntax error : missing ';' before identifier 'push'
E:\2004.8.26\Control.cpp(16) : error C2146: syntax error : missing ';' before identifier 'ax'
E:\2004.8.26\Control.cpp(16) : error C2065: 'ax' : undeclared identifier
E:\2004.8.26\Control.cpp(16) : error C2146: syntax error : missing ';' before identifier 'mov'
E:\2004.8.26\Control.cpp(16) : error C2065: 'mov' : undeclared identifier
等等,我认为是没有包含头文件之类,所以不认

#5


__asm这个。。。

#6


你没加_这个下划线当然编译通不过了。_asm才是关键字,asm什么都不是。编译器把asm当作变量了。。。

#7


来晚了,楼上的已经回答得很清楚了