zoukankan      html  css  js  c++  java
  • 使用Visual Studio 2019--调试汇编32位代码的详细步骤

    声明:本文使用32位masm,代码与16位,64位不同

    ---------------------------------------------------------------------------------------------------------------------------

    遇到问题:

    1、LINK 1104:

    在网上找了很久,并没有解决问题。

    解决方法:

    点击visual studio编译后的错误提示:LINK 1104,查看官方文档

    其中一条原因:路径过长!(= =,没错,就是这个)

    我遇到的情况是:在路径下创建项目,第一个编写的文件正常运行,修改文件名或创建新文件后编译报错:LINK 1104

    我的路径是:D:projectGitAssemblyAssembly Language For x86 Processorschapter1

    修改路径:D:projectGit

    没有问题!

    ---------------------------------------------------------------------------------------------------------------------------------

    1、官方下载安装器,安装社区版

      2、选择:使用C++的桌面开发(或者选择:使用C++的游戏开发)

        选择安装位置,共需要8G左右,占用我C盘2.多G(我的强迫症在吼)

     3、克隆或签出代码

      登录

     

      and then,如果没有远程库需要先创建一个,不创建也没关系

     3、安装扩展

      再顺便安装个汇编的代码高亮

      

      4、创建第一个汇编项目:AddTwo.asm(这不是我想要的Helloworld!)

    OK,上图

      双击或者点击“下一步”

       关键来了———生成自定义:

     钩选masm(.targets,.props)

      

     来创建.asm文件,或者右键“源文件”--“添加”--“新建项”

       画重点:不要用“Add New File”扩展

     

      

      用插件快速创建的文件报错:

     then,回到正道:(为什么不用:ctrl+shift+A创建)

        Irvine 大佬的代码(学汇编可以看Assembly Language for x86 Processors的中文看版:《汇编语言 基于x86处理器》):

    ; AddTwo.asm - adds two 32-bit integers.
    ; Chapter 3 example
    
    .386
    .model flat,stdcall
    .stack 4096
    ExitProcess proto,dwExitCode:dword
    
    .code
    main proc
        mov    eax,5                
        add    eax,6                
    
        invoke ExitProcess,0
    main endp
    end main

     OK!ctrl+F5,运行,走你!

     nice!

    F5调试:

    先打个断点

      来深入了解寄存器吧!

     如果没有寄存器窗口

     

     开启汇编二进制之旅!

    wait! 还有一个 列表文件

      

      没有.lst后缀的列表文件

    配置:

    1、右键项目,属性

      2、配置

     3、重新运行(如果出现LNK 1104的错误,并且确定路径没问题,可以多尝试几次重新创建项目)

    查看项目目录下:

     

      有了!它可以帮助更好的理解汇编代码。

  • 相关阅读:
    Mac开发——设置关闭窗口之后点击Dock中的图标可以再次打开窗口
    添加学院的 Exchange邮箱到手持设备中
    黑苹果 装SVN工具 cornerstone无法打开解决办法——网卡内建
    解决cocos2dx在Xcode中运行时报:convert: iCCP: known incorrect sRGB profile 的问题
    Lua中的正则表达式的使用
    C++11 标准新特性:Defaulted 和 Deleted 函数
    HTML5基础
    第一本书考试错题
    字符串
    带参数的方法
  • 原文地址:https://www.cnblogs.com/slothrbk/p/11706132.html
Copyright © 2011-2022 走看看