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
__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
等等,我认为是没有包含头文件之类,所以不认
{
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
__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
等等,我认为是没有包含头文件之类,所以不认
{
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
来晚了,楼上的已经回答得很清楚了