zoukankan      html  css  js  c++  java
  • 用VS2019开发汇编程序

    1、安装VS2019社区版,下载地址:

    https://visualstudio.microsoft.com/zh-hans/thank-you-downloading-visual-studio/?sku=Community&rel=15#

    安装时选择 桌面C++ 组件。

    如果安装失败,说明你的操作系统用的时间太长了,环境搞坏了,最好是重装一下系统。

    2、安装AsmDude插件,支持.asm文件的语法高亮。

    这个插件不太完善,问题比较多,但是就这么一个独苗,凑合着用吧。

    3、安装MASM32 SDK,下载地址:

    http://website.assemblercode.com/masm32/masm32v11r.zip

    我们其实不用它的汇编器,只是用它打包好的 lib 和 inc 文件,用起来比较方便。

    假设安装在D盘。

    4、新建一个空项目,项目类型为c++、Windows、控制台。

    项目节点上右键菜单,“生成依赖项” -> 自定义->masm

    项目节点上右键菜单,链接器 -> 附加库目录,增加路径:d:masm32lib

    5、添加一个文件,选择c++,但是把后缀名改为.asm,例如:hello.asm。

    6、输入源代码,运行即可。

    .386
    .model flat,stdcall
    option casemap:none
    
    includelib msvcrt.lib
    
    printf proto c: ptr sbyte, :vararg
    getchar proto c
    ExitProcess proto,dwExitCode:dword
     
    .data
    msg1 BYTE "Hello, world!", 0ah, 0
    msg2 BYTE "Press any key to exit...", 0
    
    .code
    main Proc
        push offset msg1
        call printf
    
        invoke printf, offset msg2
        invoke getchar
    
        invoke ExitProcess, 0
    main ENDP
    end main

    7、如果用命令行,代码中includelib指令需要指定具体的路径,否则找不到指定的lib文件。并且,link需要指定/SUBSYSTEM参数。如下:

    > ml /c hello.asm
    > link /SUBSYSTEM:CONSOLE hello.obj
  • 相关阅读:
    IDEA插件备忘录
    SpringBoot2基础笔记
    EasyCode模板,配合通用mapper,dubbo项目使用
    七牛云存储
    Apache POI
    SSM项目中关于配置的一二三
    SSM整合笔记
    Spring5学习笔记
    ThinkPHP框架,按分类,计算商品价格区间,来完成价格搜索
    PHP常用符号和函数
  • 原文地址:https://www.cnblogs.com/lavezhang/p/13794767.html
Copyright © 2011-2022 走看看