NASM汇编语言与计算机系统01-环境搭建
使用的程序有4个,分别是
1.Nasm汇编编译器
2.Sublime文本工具(一会需要安装NASM插件)
3.VirtualBox虚拟机
4.Bochs虚拟机调试器(一个带有调试功能的虚拟机)
1.安装Nasm:
nasm官网
或者直接去nasm2.15下载页
安装完毕之后,去看一下环境变量是否配置上了,我安装的是2.07版本,下图表示已经安装上了
2.安装Sublime
sublime官网
完毕之后,接下来安装2个插件,汇编高亮显示和调用NASM编译器
1高亮插件:x86 and x86_64 Assembly
假设我有一个abc.asm文件,当安装完高亮插件之后,如果你在sublime中曾经打开过,一定要将该文件关闭,如下面这样,点击x
关闭之后,再次关闭sublime这个软件,之后重新右键baba.asm,选择"打开方式",然后再次选择sublime,此时,高亮生效
2编译插件:NASM X86 Assembly
安装完毕之后,这个插件会自动从环境变量中寻找NASM,所以我们不需要关联NASM,接下来设置编译选项,选择Tools->Build System->NASM
这个时候,如果编译当前代码(Ctrl+B),就会去环境变量里搜索是否有NASM程序,如果有,则直接执行NASM
3.安装VirtualBox虚拟机
VirtualBox官网
或者直接去VirtualBox下载页,点击带有"Windows hosts"字样的版本下载(当然了,我是windows机器)
安装完毕之后我们新建一个虚拟机,由于学习汇编是要脱离操作系统的,所以我们如下图创建虚拟机(如果下图中没有,采用默认配置即可)
到此位置,虚拟机配置就告一段落了,后期写代码之后启动虚拟机的时候,可能会出现如下图所示的提示,点取消和启动都可以,不会影响的,而且只提示一次,以后也没有了
4.安装Bochs虚拟机
Bochs官网
或者直接去Bochs下载页,注意此处,选择你要下载的版本,比如我选择Bochs-win64-2.7.exe,点击之后,会跳转到一个新的页面,此时你会发现这个新的页面没有任何下载反映,但是仔细观察页面会有一个倒计时图标,大约五六秒钟,浏览器会出现下载对话框,此时就可以正常下载保存了
下一章:NASM汇编语言与计算机系统02-显存原理
NASM汇编语言与计算机系统01-环境搭建相关推荐
- NASM汇编语言与计算机系统02-实模式-显存原理
显卡以高频的刷新速度一直不停的扫描显存中的数据,将显存中的数据显示到屏幕上 显卡有两种模式 1.文本模式:为了方便叙述,本文的代码示例采用文本模式 2.图形模式 对于CPU来说,显存也是内存,显存的地 ...
- NASM汇编语言与计算机系统03-实模式-屏幕显示HelloWorld(mov,jmp,time,dd,dw,$$)
本文涉及到的汇编指令mov,jmp,times(独有),dd(独有),dw (独有),$,$$ dd/dw times 10 dd 0 ;dd表示一个双字,在8086下占用4个字节 times 10 ...
- 微信点餐系统01——环境搭建
微信点餐系统01--环境搭建 一.创建数据库表 微信点餐系统一共需要5个表. 商品表:商品编号.商品名称.商品价格.商品库存.商品描述.商品图片.商品情况(上架还是下架).它属于哪个类目(热销?男 ...
- (01)ORB-SLAM2源码无死角解析-(01) 环境搭建,demo运行,ROS一键安装_清除各种疑难杂症
讲解关于slam一系列文章汇总链接:史上最全slam从零开始,针对于本栏目讲解的(01)ORB-SLAM2源码无死角解析-接如下(本文内容来自计算机视觉life ORB-SLAM2 课程课件): (0 ...
- (02)Cartographer源码无死角解析-(01) 环境搭建,demo运行,ROS一键安装_清除各种疑难杂症
讲解关于slam一系列文章汇总链接:史上最全slam从零开始,针对于本栏目讲解(02)Cartographer源码无死角解析链接如下: (02)Cartographer源码无死角解析-(00)目录_最 ...
- NASM汇编语言与计算机系统13-段的定义/vstart和align语法
vstart用法 如果一个程序有a,b两个段,那么如下的程序,最后2个字节存放的是b_label距离程序起始位置段a中mov ax,1的偏移量 section amov ax,1mov ax,2a_l ...
- Win-MASM64汇编语言-visual studio下环境搭建
本文采用visual studio 2019版本搭建x86汇编环境,注意不是8086汇编环境 文件->新建->项目->空项目->创建 此时会创建一个新的项目,然后 右键项目名- ...
- spinal HDL - 01 - 环境搭建与Scala编程指南
写在前面 SpinalHDL这个语言,我是在了解了香山处理器Chisel才知道的,一直想用一用,SpinalHDL和Chisel师承一脉,都是基于Scala来进行电路描述.其本质上仍旧是HDL而非HL ...
- 中科世为 Z6S Linux HMI 屏幕模组上手记录 | 01 - 环境搭建
1. 中科世为Z6S串口屏 中科世为官网 最近到手一块中科世为的串口屏,开搞! Z6S串口屏中运行的是 FlyThings OS 嵌入式物联网界面系统,FlyThings OS是中科世为基于Linux ...
最新文章
- 美团面试题:JVM 堆内存溢出后,其他线程是否可继续工作?
- C#设置代码只在调试模式下执行
- java中什么是守护线程_什么是Java的守护线程?
- ASP.NET Core中如何调整HTTP请求大小的几种方式
- 干货|MIT线性代数课程精细笔记[第二课]
- 工作274:ele-图标使用
- vue脚手架搭建项目_复习之vue脚手架搭建项目的两种方法
- 教你webpack、react和node.js环境配置(上篇)
- 硬件基础知识(6)---电容分类
- 初一数学下册电子课本_七年级数学下册人教版-数学七年级下册电子课本-精品下载...
- 书籍分析实例:哈利波特的分词及人物关系
- 北大学子求职经历与建议(IT类) 收藏
- 网站SEO优化::降低网站跳出率、提高用户粘度网站用户粘度
- 验证码漏洞汇总(一)
- P-手性单膦配体BaryPhos可实现Suzuki-Miyaura偶联反应
- 大班音乐机器人反思_大班音乐活动lbrack;机器人rsqb;
- 为什么MySQL InnoDB 存储引擎要用B+树做索引,而不用B树?
- Matlab演奏天空之城
- ABB机器人日常检查保养维护
- java list namevaluepair_HashMap String,String和List NameValuePair之间的区别
热门文章
- oracle 循环select查询的结构集,执行insert到指定表保存
- java一到6章上机代码_JAVA练习题(第6章).ppt
- 核心编程第五版 配套代码_攻略Python的免费书单:走进编程,从这五本书开始...
- java如何初始化对象_java中对象的初始化过程
- android java打开wap链接,Android 链接 java 服务无法打开链接的有关问题
- GEOTOOLS-几何学
- Spring-Data-Redis存储对象(redisTemplate)
- ActiveMQ 在java中的使用,通过单例模式、工厂实现
- mysql服务器cpu资源占用满
- Android5.0和6.0之后新增的控件说明