︶ㄣ.蒾途椥返ゞ 发表于 2012-8-23 14:18:22

内联汇编询问

本帖最后由 ︶ㄣ.蒾途椥返ゞ 于 2012-8-24 23:13 编辑

帮我写个例程 :在汇编中定义数据,并且把他放到变量a中
10分都没有人来吗

the_one 发表于 2012-8-23 14:18:23

本帖最后由 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()写到下面一行,不知道怎么回事,怎么改都自动写到上面

︶ㄣ.蒾途椥返ゞ 发表于 2012-8-23 21:15:12

此贴已沉 人工置顶求回复

︶ㄣ.蒾途椥返ゞ 发表于 2012-8-24 09:59:05

我是小甲鱼 我来人工置顶

︶ㄣ.蒾途椥返ゞ 发表于 2012-8-24 23:14:43

再次置顶aaa

︶ㄣ.蒾途椥返ゞ 发表于 2012-8-25 10:31:43

无奈了 置顶吧 10鱼币啊。。。

hostmi 发表于 2012-8-25 16:22:25

:funk:这个板块比较冷。。。。呃,帮顶,你问小小甲鱼吧

向往 发表于 2012-8-25 18:08:27

{:5_109:}帮顶!!

︶ㄣ.蒾途椥返ゞ 发表于 2012-8-25 22:09:13

没救了。。。继续顶。。。

来瓶82年矿泉水 发表于 2012-8-26 16:50:26

在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]
查看完整版本: 内联汇编询问