现代x86汇编-环境安装

news2024/11/15 15:25:30

今天端午节,独自在家,翻阅了张银奎老师编写的《现代x86汇编语言程序设计》一书,前言部分说明书中示例代码都是用微软visual C++工具编写并使用微软宏汇编(著名的MASM)编译的,好久没有用微软vc++了,假期无聊,装上体会一下现代x86汇编。

第一步当然是下载最新的viusal studio, baidu一下:download visual studio

https://visualstudio.microsoft.com/downloads/
搜到的这个链接竟然打不开。去掉downloads后可以打开

Visual Studio: 面向软件开发人员和 Teams 的 IDE 和代码编辑器

已经是2022版本了,发展真快,下载commuity免费版本

OK,果然可以支持汇编。安装选择C++桌面开发

安装好了,先创建可控制台应用试试

这个程序只有一行:std::count<<"hello"<<std::endl;第一次运行需要下载符号表,所以需要耐心等待

windows调试符号都自动下载到:C:\symbols

汇编项目如何配置?下面探索一下,说上说华章网站有简单的指导:www.hzbook.com,已经没有这个网站了,换地方了

教学资源 – 图书教辅  --找不到相关资料,机械工业出版社越来越没落了。找原出版社Apress

才发现,这本书除了3版了,最新的是2023年出版的

Modern X86 Assembly Language Programming: Covers X86 64-bit, AVX, AVX2, and AVX-512 | SpringerLink

代码也放到了github上

GitHub - Apress/modern-x86-assembly-language-programming-3e: Source Code for 'Modern X86 Assembly Language Programming' by Daniel Kusswurm

这是第一版:Modern X86 Assembly Language Programming: 32-bit, 64-bit, SSE, and AVX | SpringerLink

都没有附录可以下载了。

从B站找到一个说明先试试asm

新建一个SimpleAddition项目,项目属性中勾选masm

main.asm的属性设置一下:

这两个设置完成了,就可以编写汇编代码了:main.asm里面有一个start PROC

所以这个项目的入口点设置为start

最终运行界面:

asm语法高亮插件,在cn.bing.com中搜索masm assembler syntax highlighting visual studio

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1809932.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

48岁冻龄女神性感现身。

千禧台湾性感女神林熙蕾&#xff0c;昔日凭《赌侠大战拉斯维加斯》、《千王之王2000》等作品成名&#xff0c;成为港产片一代女神&#xff0c;今年林熙蕾惊喜参演王家卫执导剧集《繁花》&#xff0c;再度于华语影视坛受注目。6月6日于台湾现身品牌活动&#xff0c;以一袭银色超…

大数据解决方案案例:电商平台日志分析

个人名片 &#x1f393;作者简介&#xff1a;java领域优质创作者 &#x1f310;个人主页&#xff1a;码农阿豪 &#x1f4de;工作室&#xff1a;新空间代码工作室&#xff08;提供各种软件服务&#xff09; &#x1f48c;个人邮箱&#xff1a;[2435024119qq.com] &#x1f4f1…

Android 蓝牙profile的配置

在做BQB认证之前&#xff0c;我们需要确认那些profile之前&#xff0c;我们需要查看profile的配置情况 Android13版本前蓝牙profile的配置 MTK的项目代码如下 vendor\mediatek\proprietary\packages\modules\Bluetooth\android\app\res\values\config.xml 高通的项目代码如…

【漏洞复现】宏景eHR openFile.jsp 任意文件读取漏洞

0x01 产品简介 宏景eHR人力资源管理软件是一款人力资源管理与数字化应用相融合&#xff0c;满足动态化、协同化、流程化、战略化需求的软件。 0x02 漏洞概述 宏景eHR openFile.jsp 接口处存在任意文件读取漏洞&#xff0c;未经身份验证攻击者可通过该漏洞读取系统重要文件(如…

53.ReentrantLock原理

ReentrantLock使用 ReentrantLock 实现了Lock接口&#xff0c; 内置了Sync同步器继承了AbstractQueuedSynchronizer。 Sync是抽象类&#xff0c;有两个实现NonfairSync非公平&#xff0c;FairSync公平。 所以ReentrantLock有公平锁和非公平锁。默认是非公平锁。 public sta…

星空如何异地组网?

网络已经成为人们生活的重要组成部分。无论是个人还是企业&#xff0c;都需要通过网络进行信息传输和资源共享。在传统的网络连接方式中&#xff0c;存在着网络限制、访问速度慢、数据安全等问题。随着科技的发展&#xff0c;一种全新的网络连接方式──星空异地组网&#xff0…

MySQL8基于GTID以及VIP实现高可用主从架构

jdbc客户端配置高可用以及故障切换 jdbc客户端实现故障切换 MySQL Connector/J 支持服务器故障转移。当底层活动连接发生与连接相关的错误时&#xff0c;就会发生故障转移 参考官网地址 jdbc:mysql://[primary host][:port],[secondary host 1][:port] jdbc客户端实现故障切…

你还不知道无线PLC?

随着技术的不断发展&#xff0c;工业控制系统也在经历着革新。无线PLC&#xff08;Programmable Logic Controller&#xff0c;可编程逻辑控制器&#xff09;是一种结合了无线通讯技术和传统PLC系统的创新型技术。它为工业自动化提供了一种更灵活、更便捷的解决方案&#xff0c…

【工作必备知识】Linux磁盘I/O故障排查分析定位 iostat 介绍

【工作必备知识】Linux磁盘I/O故障排查分析定位 iostat 介绍 大家好&#xff0c;我是秋意零。 前言&#xff1a;今天&#xff0c;介绍Linux磁盘I/O故障排查时&#xff0c;必备命令iostat。该命令是监视系统I/O设备使用负载&#xff0c;它可以实时监视IO设备&#xff0c;从而帮…

数字模拟EDA研发环境搭建

中小企业数字模拟EDA研发环境部署、集群搭建、网络配置、硬件咨询、数据备份、技术指导、环境生命周期维护等&#xff0c;Cadence、Synopsys、Mentor、Keysight、ANSYS&#xff0c;MATLAB、Xilinx等厂商软件工具安装调试。 EDA研发环境搭建经验交流&#xff0c;请加V

我的mybatis学习笔记之二

第一版学习笔记 1,接口是编程: 原生: Dao > DaoImpl mybatis: Mappper > XXXMapper.xml 2,SqlSession代表和数据库的一次会话:用完必须关闭 3,SqlSession和connection一样是非线程安全的.每次使用都必须去获取新的对象 4,mapper接口没有是一类,但是mybtis会为这个接口生…

USB转I2C转SPI芯片CH341

CH340与CH341区别 CH340主要用于将USB转换为各种串口&#xff0c;CH340H和CH340S可以实现USB转并口。 CH341和340的不同之处在于CH341提供I2C和SPI接口&#xff0c;方便连接到I2C或SPI总线操作相关的器件。 CH341主要有6种封装。见表1. CH341T SSOP-20封装和丝印 USB 总线转接…

【PostgreSQL 小课】日志及审计 01:日志

日志及审计 01&#xff1a;日志 以下内容是来自于我的知识星球&#xff1a;《PostgreSQL 小课》专栏&#xff0c;有需要可以关注一下 PostgreSQL 提供了非常丰富的日志基础设施。能够检查日志是每个 DBA 的关键技能——日志提供了关于集群过去的操作、当前正在进行的操作以及发…

免费,C++蓝桥杯等级考试真题--第11级(含答案解析和代码)

C蓝桥杯等级考试真题--第11级 答案&#xff1a;D 解析&#xff1a; A. a b; b a; 这种方式会导致a和b最终都等于b原来的值&#xff0c;因为a的原始值在被b覆盖前没有保存。 B. swap(a&#xff0c;b); 如果没有自定义swap函数或者没有包含相应的库&#xff0c;这个选项会编…

电容十大品牌供应商

十大电容器品牌&#xff0c;电解电容-陶瓷电容-超级电容器品牌排行榜-Maigoo品牌榜

Node安装配置

一、下载 Node官网下载地址&#xff1a;https://nodejs.org/en/ 二、安装 双击上面的msi扩展安装包开始安装&#xff0c;基本一路Next就行了 推荐安装目录自定义&#xff0c;最好不要放在C盘 检查安装是否成功 Win R 快捷键&#xff0c;输入 cmd 打开命令窗口输…

如何画系统架构图学习

原文链接:https://learn.lianglianglee.com/%E4%B8%93%E6%A0%8F/%E4%BB%8E%200%20%E5%BC%80%E5%A7%8B%E5%AD%A6%E6%9E%B6%E6%9E%84/51%20%E5%A6%82%E4%BD%95%E7%94%BB%E5%87%BA%E4%BC%98%E7%A7%80%E7%9A%84%E8%BD%AF%E4%BB%B6%E7%B3%BB%E7%BB%9F%E6%9E%B6%E6%9E%84%E5%9B%BE%EF…

C++ 命名空间|缺省参数|函数重载

一、命名空间 1.什么是命名空间 命名空间&#xff08;namespace&#xff09;是C中的一种机制&#xff0c;用来解决不同代码库之间的命名冲突问题。 先来看一个例子&#xff1a; #include <iostream>void print() {std::cout << "Hello from print()"…

黑马es学习

es 0. 基础概念0.1 倒排索引0.2 文档、索引0.3 与mysql对比 1 基本操作1.1 mapping 索引库操作1.2 单个文档CRUD 3. DSL查询3.1 查询所有3.2 全文检索3.3 精确查询3.4 复合查询-相关性得分3.5 分页3.6 高亮3.7 总结 2. RestClient4. aggs聚合4.1 bucket&#xff08;分桶&#x…

C++ | Leetcode C++题解之第135题分发糖果

题目&#xff1a; 题解&#xff1a; class Solution { public:int candy(vector<int>& ratings) {int n ratings.size();int ret 1;int inc 1, dec 0, pre 1;for (int i 1; i < n; i) {if (ratings[i] > ratings[i - 1]) {dec 0;pre ratings[i] rati…