Intel汇编在VS下开发的环境配置

2023-09-21 21:56:40

1. 创建一个C/C++的空项目

在这里插入图片描述

2. 创建汇编源码文件, 就是C++文件改后缀为asm

在这里插入图片描述

3. 在生成依赖项一栏中选择自定义

在这里插入图片描述

4. 选择masm

在这里插入图片描述

5. 在源文件上右击选择属性

在这里插入图片描述

6. 这么设置一下

在这里插入图片描述

7. 为了让代码看的更舒服一些, 添加一些高亮插件

在这里插入图片描述

8. 安装AsmHighligher和AsmDude插件(非必须), 其中前者主要是高亮配色(个人很喜欢这个配色), 后者也有高亮配色, 但编写代码方面的方便更多(比如自动缩进等)

在这里插入图片描述

9. 写一个程序, 可以看到MessageBoxA的定义与msdn上不同, 这其实没有问题, 因为在汇编的世界里全部都是字节, 没有那些为了好记而取的名字, 比如HWND类型什么的, 使用对应大小的空间进行替换即可。

在这里插入图片描述

10. 到这里其实已经可以开发汇编程序了, 但由于我们处于windows平台下, 可能希望调用win32 api, 否则我们需要一个个自己声明很麻烦, 安装masm32开发包。 masm32开发包下载地址

在这里插入图片描述

11. 安装好了之后到masm32的安装目录下找include和lib两个目录

在这里插入图片描述

12. 在项目属性页中把masm32的include目录包含进去, 这样子就不需要自己声明了, masm32帮我们定义了对应的头文件, 我们包含进来直接使用即可

在这里插入图片描述

13. 库目录也要包含进来

在这里插入图片描述

14. 现在把对应的头文件和库文件包含进来就可以使用了, 很方便, 这里user32提供了MessageBoxA的定义和实现, kernel32提供了ExitProcess的定义和实现, 而windows头文件提供了MB_OK和NULL的定义

在这里插入图片描述

15. 如果你没有行号, 在工具->选项->文本编辑器, 里面这样子设置就有了

在这里插入图片描述

16. 如果你想要调试, 这么设置一下比较方便, 这样就可以直接调试汇编, 而不会显示找不到源码什么的了

在这里插入图片描述

17. 额外的话题, 每次该完代码后, 记得要这样重新编译

在这里插入图片描述
(完)

更多推荐

Wireshark TS | MQ 传输缓慢问题

问题背景应用传输慢是一种比较常见的问题,慢在哪,为什么慢,有时候光从网络数据包分析方面很难回答的一清二楚,毕竟不同的技术方向专业性太强,全栈大佬只能仰望,而我们能做到的是在专注于自身的专业方向之外,尽量扩展知识面,学会找出问题的规律,并提出可能的解决建议。就像本次MQ案例一样,说实话我对MQ一无所知,但并不会让我们在拿

haproxy工具,负载均衡配置,反向代理配置,动静分离,高可用等等

文章目录haproxyhaproxy概述haproxy配置文件解析haproxy实战haproxy配置过程haproxy负载均衡和反向代理haproxy查看状态信息Haproxy健康检查功能基于tcp端口的健康检查基于URL的健康检查haproxy的高可用--不需要keepalived获取真实ip地址haproxy动静

CSS 实现祥云纹理背景

🪴背景最近掘金出来一个中秋创意活动,我准备参加一下。作品方向选择用纯css做一个中秋贺卡,其中有一些中秋的元素和一些简单的动画,而贺卡背景的实现就是本文要讲的内容。中秋贺卡成果图(生成gif有点失真😵‍💫)如下:有兴趣的可以看我的另一篇文章:中秋贺卡传送门贺卡背景是我用css,仿照从网上搜到的祥云纹理背景图实现的

CSS中去掉li前面的圆点方法

1.引言在网页开发中,我们经常会使用无序列表(<ul>)来展示一系列的项目。默认情况下,每个列表项(<li>)前面都会有一个圆点作为标记。然而,在某些情况下,我们可能希望去掉这些圆点,以满足设计需求或者个性化要求。本文将介绍几种常见的方法来去掉<li>前面的圆点。2.使用CSS属性我们可以使用CSS的list-styl

CSS中的定位

position的属性与含义CSS中的position属性用于控制元素在页面中的定位方式,有四个主要的取值,每个取值都会影响元素的布局方式,它们是:static(默认值):这是所有元素的初始定位方式。在静态定位下,元素会按照它们在文档流中的顺序依次排列,不受top、right、bottom、left等属性的影响。静态定

实例说明接口测试的关键是什么?(含文档+视频)

接口测试的关键在于验证应用程序接口(API)是否按照预期工作,并且在不同组件之间传输数据的正确性和可靠性。以下是接口测试的一些关键要点,后面会实例说明。1.请求和响应验证:接口测试需要验证发送到API的请求和API返回的响应是否符合预期。这包括检查请求的参数、HTTP状态码和响应的数据结构等方面。2.数据一致性:确保A

JUC下的异步编程工具使用详情以及源码分析(FutureTask、CompletableFuture)

异步编程一、FutureTask应用&源码分析1.1FutureTask介绍FutureTask是一个可以取消异步任务的类。FutureTask对Future做的一个基本实现。可以调用方法区开始和取消一个任务一般是配合Callable去使用异步任务启动之后,可以获取一个绑定当前异步任务的FutureTask可以基于Fu

RK3568开发笔记(八):开发板烧写buildroot固件(支持hdmi屏),搭建Qt交叉编译开发环境,编译一个Demo,目标板运行Demo测试

若该文为原创文章,转载请注明原文出处本文章博客地址:https://hpzwl.blog.csdn.net/article/details/132826197红胖子网络科技博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…瑞芯微开

QT JSON数据格式讲解

文章目录前言一、JSON是什么二、JSON在线解析三、QT中的JSON类四、构建JSON字符串五、解析JSON数据六.核心类QJsonDocument类详解总结前言本篇文章开始带大家学习一下什么是JSON,并且学习QT当中的JSON使用。一、JSON是什么JSON(JavaScriptObjectNotation)是一

Spring-AOP+入门案例(注解)+AOP切入点语法+AOP通知类型

一、简介+工作流程。简介SpringAop实际上就是代理模式工作流程二、导入依赖1.spring-aop包该包是在spring-context依赖下的子包,所以有context就有aop<dependency><groupId>org.springframework</groupId><artifactId>sprin

Qt day2

作业:点击登录按钮后,判断账号(admin)和密码(123456)是否一致,如果匹配失败,则弹出错误对话框,文本内容“账号密码不匹配,是否重新登录”,给定两个按钮ok和cancel,点击ok后,会清除密码框中的内容,继续进行登录;如果点击cancel按钮,则关闭界面。如果账号和密码匹配,则弹出信息对话框,给出提示信息为

热文推荐