Visual Studio编写C++代码使用汇编函数

  1. 新建空项目

  2. 新建如下源文件

    ;test.asm
    ;测试函数 三个数相加
    ;.386
    .model flat, c
    ;public test_ .code test_ proc ;初始化栈帧指针
    push ebp
    mov ebp,esp
    ;加载参数值
    mov eax,[ebp+8]
    mov ecx,[ebp+12]
    mov edx,[ebp+16] ;求和
    add eax,ecx
    add eax,edx ;恢复父函数的栈帧指针 pop ebp
    ret test_ endp
    end
    //main.cpp
    #include <stdio.h>
    #include <stdlib.h> extern "C" int test_(int a, int b, int c); int main() {
    int a = 17;
    int b = 20;
    int c = 19;
    int sum = test_(a, b, c);
    printf("c = %d\n", sum); system("pause");
    return 0;
    }
  3. 更改asm 文件的属性如下

  1. 继续更改自定义生成工具

  2. 命令行与输出添加如下条件语句

    命令行填写: ml /c /coff %(fileName).asm

    ml 其实是指 编译器 ml.exe 后边跟的是命令 \c 只编译,不链接\coff生成这种格式的目标文件

    输出填写:%(fileName).obj;%(OutPuts)

  3. 编译运行即可

最新文章

  1. TCP协议疑难杂症全景解析
  2. 【转】ES6 手册
  3. java io读书笔记(1)综述
  4. markdownpad2 pro注册信息升级 破解版
  5. python 登陆一个网站
  6. Cannot create JDBC driver of class &#39;&#39; for connect URL &#39;jdbc:mysql://127.0.0.1:3306/test&#39;
  7. javac命令
  8. 使用Spring Cloud和Docker构建微服务架构
  9. angular2+ 组件中用@import进来的css不起作用
  10. firefox在引入vue.js后不支持e=e||window.event的解决办法
  11. Spring Boot @Async 异步任务执行
  12. 安卓使用TextView实现图片加文字说明
  13. 020、搭建本地Registry(2019-01-11 周五)
  14. Java的Fork/Join任务
  15. can not create symbolic link HDFS解压自动配置lib报错。
  16. 混淆和加密.NET开发工具
  17. kibana 与 grafana
  18. 配置bond
  19. bzoj千题计划157:bzoj1220:[HNOI2002]跳蚤
  20. P2323 [HNOI2006]公路修建问题

热门文章

  1. 03 . Go框架之Gin框架从入门到熟悉(Cookie和Session,数据库操作)
  2. 关于python递归函数,这样写就对了
  3. XJOI 夏令营501-511测试11 游戏
  4. STM32最小系统板OLED贪吃蛇
  5. 手撸ORM浅谈ORM框架之Query篇
  6. 《我想进大厂》之Java基础夺命连环16问
  7. .net core集成JWT(基础)
  8. Spring源码解析之BeanFactoryPostProcessor(一)
  9. Linux下Flask环境
  10. map,filter