当前位置: 首页 > news >正文

Visual Studio-X64汇编编写

纯64位汇编:

includelib ucrt.lib
includelib legacy_stdio_definitions.lib
includelib user32.libextern printf:proc
extern MessageBoxA:proc.data
szFormat db "%s",0
szHello db "HelloWorld",0
szRk db "123",0.code
start procsub rsp,28hmov rdx,offset szHellomov rcx,offset szFormatcall printfmov r9,0mov r8,offset szHellomov rdx,offset szRkmov rcx,0call MessageBoxAadd rsp,28hret
start endp
end 

注意:

1.平台工具集要选VS2015

2.属性->生成依赖项->masm

3.链接器->高级->入口点


64位混合编程(C++/Asm):

1.asm:
includelib legacy_stdio_definitions.lib
includelib user32.libextern printf:proc.dataszformat db "%s\n",0.code
Myadd procsub rsp,28hadd rcx,rdxmov	rax,rcxadd rsp,28hret
Myadd endpMyprintf procsub rsp,28hmov rdx,rcxlea rcx,szformatcall printfadd rsp,28hret
Myprintf endp
end 
main.cpp:
#include <iostream>
#include <windows.h>EXTERN_C UINT64 Myadd(UINT64 a, UINT64 b); 
EXTERN_C void Myprintf(const char* szbuffer);int main()
{UINT64 num = Myadd(1, 2);printf("%lld\r\n", num);Myprintf("hello word");system("pause");return 0;
}

注意:

如果生成报错,并且没有属性里面没有Microsoft Macro Assembler,换成VS2015也没有的话,

就在源文件里面找到.asm后缀的文件右键属性->常规->项类型->Microsoft Macro Assembler即可。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 玩转RabbitMQ声明队列交换机、消息转换器
  • Python 入门教程(4)数据类型 | 4.4、布尔类型
  • QT 修改全局鼠标光标样式并支持还原样式
  • redis群集三种模式:主从复制、哨兵、集群
  • Java运算符有哪些?深入解析Java运算符:从基础到进阶的全方位指南(超全表格)
  • 『功能项目』QFrameWorkBug修改器界面【65】
  • firewalld封禁IP或IP段
  • 微信getUserProfile不弹出授权框
  • 【无标题】云端之C#:全面解析6种云服务提供商的SDK
  • C++学习笔记(33)
  • JVM常用参数配置
  • python中的排序函数sorted
  • 【资料分析】刷题日记2
  • 系统在哪些情况下会触发缺页中断
  • 关于Java数据结构中集合的一个小知识
  • [译] React v16.8: 含有Hooks的版本
  • 【个人向】《HTTP图解》阅后小结
  • AngularJS指令开发(1)——参数详解
  • Fastjson的基本使用方法大全
  • Nodejs和JavaWeb协助开发
  • Python3爬取英雄联盟英雄皮肤大图
  • SpingCloudBus整合RabbitMQ
  • underscore源码剖析之整体架构
  • Vue2 SSR 的优化之旅
  • 从零开始学习部署
  • 每天10道Java面试题,跟我走,offer有!
  • 使用 Xcode 的 Target 区分开发和生产环境
  • 使用Swoole加速Laravel(正式环境中)
  • 推荐一款sublime text 3 支持JSX和es201x 代码格式化的插件
  • HanLP分词命名实体提取详解
  • 如何用纯 CSS 创作一个货车 loader
  • # 飞书APP集成平台-数字化落地
  • #QT(QCharts绘制曲线)
  • (C++17) std算法之执行策略 execution
  • (delphi11最新学习资料) Object Pascal 学习笔记---第2章第五节(日期和时间)
  • (SERIES12)DM性能优化
  • (超详细)语音信号处理之特征提取
  • (待修改)PyG安装步骤
  • (附源码)springboot 智能停车场系统 毕业设计065415
  • (附源码)ssm经济信息门户网站 毕业设计 141634
  • (附源码)计算机毕业设计ssm本地美食推荐平台
  • (力扣记录)235. 二叉搜索树的最近公共祖先
  • (求助)用傲游上csdn博客时标签栏和网址栏一直显示袁萌 的头像
  • (原创)Stanford Machine Learning (by Andrew NG) --- (week 9) Anomaly DetectionRecommender Systems...
  • (原創) 如何動態建立二維陣列(多維陣列)? (.NET) (C#)
  • (转)h264中avc和flv数据的解析
  • (转)JVM内存分配 -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m
  • .MyFile@waifu.club.wis.mkp勒索病毒数据怎么处理|数据解密恢复
  • .NET Core WebAPI中封装Swagger配置
  • .net 按比例显示图片的缩略图
  • .NET 材料检测系统崩溃分析
  • .net 使用ajax控件后如何调用前端脚本
  • .NET微信公众号开发-2.0创建自定义菜单
  • 。。。。。
  • @RequestParam详解