使用c++中的“asm”关键字?有个疑问
#include <iostream.h>
void main(void)
{
cout << "About to sound the speaker...\n";
asm
{
MOV AX,0x0200
MOV DL,7
INT 0x21
};
cout << "Done..\n";
}
程序出错 哪里错了?谢谢!
问题点数:40、回复次数:6Top
1 楼liuto(B34)回复于 2002-11-28 10:32:33 得分 5
这个,看编译器而定。各个编译器的语法形式都不一样
内嵌asm不是ANSI标准Top
2 楼zxm954712(三绝剑)回复于 2002-11-28 11:11:23 得分 15
如果你用vc编译器,则如下:
include <iostream.h>
void main(void)
{
cout << "About to sound the speaker...\n";
_asm
{
MOV AX,0x0200
MOV DL,7
INT 0x21
};
cout << "Done..\n";
}
Top
3 楼Behard(我爱天安门)回复于 2002-11-28 11:22:41 得分 5
VC:
好像是 __asm
不是 _asmTop
4 楼zxm954712(三绝剑)回复于 2002-11-28 11:34:54 得分 5
you should see msdn, as follows:
For compatibility with previous versions, _asm is a synonym for __asm.
Top
5 楼sylmoon(专注Oracle)回复于 2002-11-28 13:31:01 得分 5
asm 是ANSI99Top
6 楼liuto(B34)回复于 2002-11-28 13:50:23 得分 5
To sylmoon(砺筠):
你说的是不是 ANSI C++, 我不记得 ANSI C 里有这个关键字。
在ANSI C++里,它应该是这样的语法:
asm (指令字符串);
Top




