内联汇编询问
本帖最后由 ︶ㄣ.蒾途椥返ゞ 于 2012-8-24 23:13 编辑帮我写个例程 :在汇编中定义数据,并且把他放到变量a中
10分都没有人来吗
本帖最后由 the_one 于 2012-8-26 00:54 编辑
#include<stdio.h>int main()
{
int a;
__asm
{
mov eax , 0 ;改成需要的数
mov a , eax
}
printf("%d\n",a);
return 0;
}应该是这个意思吧,没用过内联汇编,现查了一下
把int main()写到下面一行,不知道怎么回事,怎么改都自动写到上面
此贴已沉 人工置顶求回复 我是小甲鱼 我来人工置顶 再次置顶aaa 无奈了 置顶吧 10鱼币啊。。。 :funk:这个板块比较冷。。。。呃,帮顶,你问小小甲鱼吧 {:5_109:}帮顶!! 没救了。。。继续顶。。。 在Visual C++使用内联汇编用到的是__asm关键字,这个关键字有两种使用方法:
1.简单__asm块
__asm
{
MOV AL, 2
MOV DX, 0xD007
OUT AL, DX
}
2.在每条汇编指令之前加__asm关键字
__asm MOV AL, 2
__asm MOV DX, 0xD007
__asm OUT AL, DX
因为__asm关键字是语句分隔符,因此你可以把汇编指令放在同一行:
__asm MOV AL, 2
__asm MOV DX, 0XD007
__asm OUT AL, DX
显然,第一种方法和C/C++的风格很一致,并且有很多其它优点,因此推荐使用第一种方法。
不象在C/C++中的"{}",__asm块的"{}"不会影响C/C++变量的作用范围。同时,__asm块可以嵌套,嵌套也不会影响变量的作用范围。
页:
[1]