win10开启我的第一个32位汇编程序
遥想当年,上学期间,汇编程序,从未成功。今又试之,终成功,遂记录。
Hello.asm文件如下:
.
.model flat,stdcall
option casemap:none include windows.inc
include user32.inc
includelib user32.lib
include kernel32.inc
includelib kernel32.lib .data
szCaption db 'A MessageBox !',
szText db 'Hello, World !', .code
start:
invoke MessageBox,NULL,offset szText,offset szCaption,MB_OK
invoke ExitProcess,NULL end start
cmd运行结果如下:

ml 为汇编编译器,生成hello.obj文件,然后执行 link,最终生成hello.exe文件
win10 64位上如何搭建环境?
1、安装masm32,从官网下载 http://www.masm32.com/
添加环境变量:

path:

2、vs2017中,安装c++桌面程序,包含汇编 ml.exe 等工具,把ml.exe拷贝到masm32\bin下面
注意 ml.exe的路径:Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\bin\Hostx86\x86
如果选择Hostx64\x86下面的,汇编编译时总会报错:statement too complex
3、masm32自带的编辑器,号称IDE,不可用
4、以上是手动用命令执行,也可以在vs2017中执行汇编程序,需要配置,可参考 http://www.asmirvine.com/gettingStartedVS2017/index.htm,也可从github上下载:https://github.com/wangqiang3311/assembly.git
注意从网上下载Irvine,里面含有link工具
win10开启我的第一个32位汇编程序的更多相关文章
- 64位系统下,一个32位的程序究竟可以申请到多少内存,4GB还是更多?(一)
前言: cpu的位是指一次性可处理的数据量是多少,1字节=8位,32位处理器可以一次性处理4个字节的数据量,依次类推.32位操作系统针对的32位的CPU设计.64位操作系统针对的64位的CPU设计.操 ...
- C语言判断一个32位的数据,有多少位是1,然后用串口发送出来
今天遇到了一个问题,遇到一个32位的数据,写一个子函数来判断它的多少位是1.我的思路一开始是把这个数据变成一个32位容量的数组然后每个位去比较是不是1,如果是1,就用另一个变量加1.最后返回这个变量. ...
- 【JAVA】生成一个32位的随机数。防止重复,保留唯一性
作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985, QQ986945193 微博:http://weibo.com/mcxiaobing import ...
- iOS生成一个32位的UUID
- (NSString *)uuidString { CFUUIDRef uuid_ref = CFUUIDCreate(NULL); CFStringRef uuid_string_ref= CFU ...
- win10 64位 C# 连接oracle 32位, 遇到的问题及解决
首次 本机电脑是win10系统 64位的:安装的oracle数据库也是64位的: 服务器端的oracle 是32位的: 第一次安装的pl/sql 也是64位的, 配置完 F:\app\ln_qi\p ...
- 微软的操作系统中让 32 位支持大于 4GB 的内存。
先给一个参考文献:The RAM reported by the System Properties dialog box and the System Information tool is les ...
- 关于C#连接Oracle数据库 尝试加载Oracle客户端时引发BadImageFormatException 如果在安装32位Oracle客户端组件的情况下以64位模式运行,将出现此问题
这个问题已经困扰了我快一个月了,各种百度,各种博客,可是,一个个都试过了,什么下载32位客户端,配置环境变量什么的,纯属扯犊子,开发环境win10 64位 oracle 11g r2 64位,这 ...
- 32位模式下C/C++程序可用最大内存
关于32位程序申请大内存问题(1.6G). 我在win7 64系统上面测试Visual studio 10 int* Test=new int[1024*1024*200]; int* Test2=n ...
- C++内存管理1-64位系统运行32位软件会占用更多的内存吗?
随着大容量内存成为电脑平台常规化的配置,在配置组装机时很多的用户都会选择8GB甚至是16GB的容量规格内存使用在自己的机器上,如果要将这8GB甚至是16GB的内容在系统使用时能充分利用起来的话,你平台 ...
随机推荐
- MySQL列出当前月的每一天
因为工作的原因,要用MySQL列出当前月份每一天的日期,自己查了下网上资料都是列出最近一个月的日期的解决方案,自己根据查到的的方案,修改成了下面两个方案,在此记录下: 方案一: SELECT date ...
- php开发微信支付获取用户地址
http://mp.weixin.qq.com/s/uNpWE_Z5RZ48PDIWkmGBYQ 使用微信获取地址信息是和微信支付一道申请的,微信支付申请通过,就可以使用该功能. 微信商城中,使用微信 ...
- Python基础之(三)----PyGame安装步骤
http://blog.csdn.net/qq_33166080/article/details/68928563 如果你已经有一定的编程经验,那么学习一门新语言最快的方式就是拿着一个比较中型的项目, ...
- ArrayList存储基本类型时的封装类
- 条件随机场(CRF) - 4 - 学习方法和预测算法(维特比算法)
声明: 1,本篇为个人对<2012.李航.统计学习方法.pdf>的学习总结,不得用作商用,欢迎转载,但请注明出处(即:本帖地址). 2,由于本人在学习初始时有很多数学知识都已忘记,所以为了 ...
- [转]【译】.NET Core 3.0 中的新变化
.NET Core 3.0 是 .NET Core 平台的下一主要版本.本文回顾了 .Net Core 发展历史,并展示了它是如何从基本支持 Web 和数据工作负载的版本 1,发展成为能够运行 Web ...
- Python--day47--mysql分页性能相关方案
提高分页性能: 分页的时候,如果是正常的数据全局扫描,分页越大的时候花费的时间越长. 这时候要提高效率的话就不能全局扫描,如下面的例子,扫描索引且从最大或最小页开始扫描.
- P1021 整数奇偶排序
整数奇偶排序 题目出处:<信息学奥赛一本通>第二章上机练习6,略有改编 题目描述 告诉你包含 \(n\) 个数的数组 \(a\) ,你需要把他们按照"奇数排前面,偶数排后面:奇数 ...
- Roslyn 使用 Directory.Build.props 管理多个项目配置
在一些大项目需要很多独立的仓库来做,每个仓库之间都会有很多相同的配置,本文告诉大家如何通过 Directory.Build.props 管理多个项目配置 在我的 MVVM 框架需要三个不同的库,一个是 ...
- 打地鼠游戏(2)之定义地鼠函数及函数原型 prototype
在JavaScript中,prototype对象是实现面向对象的一个重要机制. 每个函数就是一个对象(Function),函数对象都有一个子对象 prototype对象,类是以函数的形式来定义的.pr ...