怎么使用visual studio 2010编写汇编语言程序?

求具体点的过程
2024-12-13 02:31:32
推荐回答(2个)
回答1:

使用内联汇编写 ,它的格式有两种,一种是__asm 直接接汇编指令语句,
比如,__asm xor eax, eax //清零eax
另一种是加上花括号,类似于一个函数,比如
__asm {
mov eax, 1 ;1到eax
mov ebx, 2 ;2到ebx
add eax, ebx ;eax 和ebx相加
}

使用内联汇编有个好处可以直接使用C/C++中的变量 ,比如
int a = 2;
__asm mov a, 2 //可以使用变量,只有一条

另外使用内联汇编最需要注意的是数组。比如 int a[2] = {1,2} ;
不可以直接
__asm{
mov a[0], 1
mov a[1], 2
}
这样是错误的, 需要 mov a[0], 1 mov a[4],2 为什么是4呢?因为内联汇编转换后是数组a的地址偏移,而不是序号。

vc中的内联汇编 简单的很, 要是在linux中使用内联汇编,费了劲了。。没事欢迎到 百度 0x30 贴吧 分享一下C/C++的心得,或者加入百度知道 0x30 团队,帮助别人的时候,自己 也可以学到东西 。。

回答2:

只能编写内嵌汇编
__asm
{
}
中间填写指令