【汇编】一、环境搭建(一只 Assember 的成长史)

news2024/9/22 9:57:44

嗨~你好呀!

我是一名初二学生,热爱计算机,码龄两年。最近开始学习汇编,希望通过 Blog 的形式记录下自己的学习过程,也和更多人分享。

这篇文章主要讲述汇编环境的搭建过程。

话不多说~我们开始吧!


系统环境:Win 11 专业版。

由于现今的 64 位机器已经不再支持原生 dos(严谨地说是在进入保护模式后无法直接使用 dos),我们需要手动配置汇编环境。

两种选择:

1. DOSBox + MASM(DOSBox 是一个 dos 模拟器,支持多种操作系统,采用 SDL 库,方便移植)

2. VMware WorkStation 虚拟机(配置 Win 2000,如果学网安的话或许已经配置过了,那就可以直接用啦~)

我选择的是第一种。

第一步、下载所需程序及工具。

在本地新建一个文件夹,用于放置环境配置文件和源代码文件。

dosbox 和 masm 官网下载会比较慢,这里直接放一个百度网盘链接吧~(注:链接不是本人分享,侵删)

链接:https://pan.baidu.com/s/1UwSpoh9mU0PtJ00BF63zRA

提取码:hiaj

直接下载文件中的压缩包到本地即可。

第二步、安装 DOSBox。

打开 DOSBox0.74-win32-installer 文件夹,双击 .exe 文件进行安装。

安装时一路 next 即可,安装路径那里选择你新建的文件夹的路径。

安装好后可以创建一个快捷方式到桌面。

第三步,创建工作目录。

在之前创建的文件夹下创建一个子文件夹,放置汇编源代码文件和工具文件。

复制 MASM 文件夹中的 MASM.EXE(用于编译)、LINK.EXE(用于链接文件)、debug.exe(用于调试)到该目录下。

第四步,运行 DOSBox。

DOSBox 相当于一个虚拟环境,需要我们把实际的工作目录挂载上去,指令:mount c your_working_directory

但如果仅仅这样,在每次重新打开时都需要重新挂载,非常不方便。

这就需要我们修改 DOSBox 软件本身的配置文件。

第五步,修改 DOSBox 配置文件。

配置文件地址:C:\Users\your_accout_name\AppData\Local\DOSBox\dosbox-0.74.conf

用记事本打开文件,拖到最下方,并将刚才的挂载指令复制到文件末尾。

此时,重启 DOSBox,会发现已经自动挂载啦~~

至此,汇编环境就已经配置好啦!!~✌️

(是不是比配置 C++ 环境简单太多了,嘿嘿嘿)


感谢你看到这里~

作者只是一名初学者,有任何错误或解释不当之处欢迎指出呀~一起加油!

那,我们下一篇再见咯~

2023-02-19

By Geeker · LStar

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

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

相关文章

Ubuntu下安装 ntfs-3g

目录1.FAT32、NTFS和exFAT2.ubuntu 安装 ntfs-3g2.1 直接安装2.2 源码安装1.FAT32、NTFS和exFAT U盘在格式化的时候都会有三种格式分别是FAT32、NTFS和exFAT。 FAT32格式   FAT32格式硬盘分区的最大容量为2TB,虽然U盘做不到,但是现在1xTB硬盘都有了&…

实现8086虚拟机(三)——指令解码

文章目录中间指令格式解码模块的实现编译器将汇编语句翻译成机器指令,而虚拟机做的工作正好相反,就是将机器指令解码成可以识别的中间形式,然后执行。为什么要这么做?拿 mov 指令举例,看下它的机器指令的格式&#xff…

手动创建 vue2 ssr 开发环境

本文和个人博客同步发表 更多优质文章查看个人博客 前言 手动搭建 vue ssr 一直是一些前端开发者的噩梦,因为其中牵扯到很多依赖包之间的配置以及webpack在node中的使用。就拿webpack配置来说,很多前端开发者还是喜欢用webpack-cli脚手架搭建项目。导致…

NCHW - NHWC - CHWN 排列

TensorFlow有两种数据格式NHWC和NCHW,默认的数据格式是NHWC,可以通过参数data_format指定数据格式。这个参数规定了 input Tensor 和 output Tensor 的排列方式。 1、data_format 设置为 “NHWC” 时,排列顺序为 [batch, height, width, channels] 设置为 “NCHW” 时,排…

Linux中常用命令汇总三

Linux中常用命令汇总二地址:https://blog.csdn.net/u011837804/article/details/1289972501、用户组管理类每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。不同 Linux 系统对用户组的规定有所不同,如Linux下的用户属…

MIPI CSI 进一步理解

CSI(Camera Serial Interface)定义了摄像头外设与主机控制器之间的接口,旨在确定摄像头与主机控制器在移动应用中的标准。 CSI关键词描述 缩写 解释 CCI Camera Control Interface(物理层组件,通常使用I2C或I3C进行通…

显示技术之器件---LED、Mini LED、Micro LED、OLED、LCD、SMD、SMT

显示技术之基础—半导体 1、LED 1.1 LED(Light Emitting Diode) 即发光二极管,是一种半导体固体发光器件,它是利用固体半导体芯片作为发光材料,当两端加上正向电压,半导体中的载流子发生复合引起光子发射而产生光。LED由含镓&a…

基于SpringBoot的卓越导师双选系统

文末获取源码 开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7/8.0 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven包:Maven3.3.9 浏…

九龙证券|机构密集调研银行业!这些上市银行尤其受捧,关注两大变量

2023年开年以来,组织连续了上一年对上市银行的调研热情。 Wind数据显现,到现在,年内已有9家银行承受637家组织调研,参加调研的组织数较上一年同期添加近一成。 其间,7家被调研银行均处江浙区域。上一年以来&#xff0…

Docker 学习笔记

概述 1. 什么是 Docker? Docker 是一个应用容器平台,管理项目中用到的所有环境(MySQL、Redis…) 2. Docker 和虚拟机的区别 虚拟机是携带操作系统的,本身很小的应用程序因为携带了操作系统而变得十分笨重&#xff0…

WebRTC paced sender

文章目录4.1 pacer创建4.2 音视频数据包发送4.3 webrtc::PacketRouter4.4 Pacer 媒体数据发送控制4.5 pacer 中的码率探测paced sender通常简称为pacer,其是WebRTC RTP栈的一部分,用于平滑发送到网络上的数据流包,考虑一个帧率为60fps带宽为1…

linux高级命令之线程的注意点

线程的注意点学习目标能够说出线程的注意点1. 线程的注意点介绍线程之间执行是无序的主线程会等待所有的子线程执行结束再结束线程之间共享全局变量线程之间共享全局变量数据出现错误问题2. 线程之间执行是无序的import threading import timedeftask():time.sleep(1)print(&qu…

一句话解读《持续交付》核心能力

​DevOps 是基于持续交付的软件工程。DevOps的核心知识体系在DevOps 四书。持续交付主要是指应用软件集成交付环节,通过配置管理、构建与持续集成、测试管理、部署与发布管理、环境管理、数据管理和度量管理领域的能力建设和工程实践保证软件持续顺畅高质量的对用户…

JavaWeb9-volatile解决内存可见性和指令重排序问题

目录 1.解决内存可见性问题 2.解决指令重排序问题 3.volatile缺点 4.特使使用场景 volatile(易变的,易挥发的,不稳定的)可以解决内存可见性和指令重排序的问题。 1.解决内存可见性问题 代码在写入 volatile 修饰的变量时&am…

【Linux】自定义生成Kickstart(system-config-kickstart)

文章目录前言一、安装二、运行三、配置3.1 基本配置3.2 安装方法3.3 引导装载程序选项3.4 分区信息3.5 网络配置3.6 验证3.7 防火墙配置3.8 显示配置3.9 软件包选择3.10 预安装脚本3.11 安装后脚本3.12 保存与查看四、总结前言 本文简单介绍下system-config-kickstart的使用&a…

AMQP协议介绍

这篇文章主要介绍AMQP 0-9-1 协议,是RabbitMQ支持的协议之一,理解AQMP对于使用和理解RabbitMQ也很有帮助。 AMQP 0-9-1(高级消息队列协议)是一种消息传递协议,它使客户端应用程序能与消息中间件进行通信。消息中间件接…

Alibaba Arthas

Alibaba Arthas 基于arthas 3.4.6 Arthas是Alibaba开源的Java诊断工具 可以用来解决 查看class 的加载路径,排除ClassLoader 双向委派存在的问题 程序在线反编译,与热更新 监控到JVM的实时运行状态(线程状态,程序热点&#x…

敏感词之 DFA 算法

敏感词之 DFA 算法 常用算法 遍历匹配 将输入的词语,与词库中的敏感词逐个字符遍历,对比是否包含 优点:思路简单,易于实现(KMP 算法,Brute-Force 算法) 缺点:当词库数目非常大时…

uniapp自定义验证码输入框,隐藏光标

一. 前言 先看下使用场景效果图: 点击输入框唤起键盘,蓝框就相当于input的光标,验证码输入错误或者不符合格式要求会将字体以及边框改成红色提示,持续1s,然后清空数据,恢复原边框样式;5位验证…

【Kubernetes】【十二】Pod详解 Pod调度

Pod调度 ​ 在默认情况下,一个Pod在哪个Node节点上运行,是由Scheduler组件采用相应的算法计算出来的,这个过程是不受人工控制的。但是在实际使用中,这并不满足的需求,因为很多情况下,我们想控制某些Pod到达…