(ubuntu)DOSBox编写第一个汇编语言程序

2024-01-17 11:40

本文主要是介绍(ubuntu)DOSBox编写第一个汇编语言程序,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、安装dosbox

sudo apt-get install dosbox

安装成功之后可以通过命令行输入

dosbox

来开启,也可以在左下角“显示应用程序”中打开。
在这里插入图片描述

二、操作步骤

1、选择一个目录,其中尽可能准备好以下文件

在这里插入图片描述这些文件中,必须有MASM.EXE和LINK.EXE。
调试需要,最好配上DEBUG.EXE。
另外,hello.asm文件是提前用vim编辑器写好的,即输出hello world。
附上这些文件的下载链接,提取码:ev2k
应该注意,默认的版本是不支持中文的,所以尽量避免输出中文,或者安装汉化版本。
hello.asm内容如下:

		.model  small			;小型存储模式.stack				;定义堆栈段.data				;定义数据段
string		db	   'Hello, world!'	;预存字符串、db	   0dh, 0ah, '$'	;回车换行结束 .code				;定义代码段
start:		mov	   ax, @data		;装数据段(段mov	   ds, ax		; 地址送DS)lea 	   dx, string  		;调用21H号mov	   ah, 9		; 中断,显示int	   21h			; 字符串mov	   ax, 4c00h		;调用21H号中int	   21h			; 断,返回end	   start		; 结束汇编	

(在网页上显示的不整齐,复制到文件之后就整齐了)

2、打开dosbox后,运行hello.asm

(1)设置虚拟磁盘c为上述文件存储的目录,以笔者目录为例:
mount c /home/zhanwangc/download/masm
(2)进到虚拟磁盘c
c:
(3)显示目录下情况,查看文件是否齐全
dir
(4)编译为obj文件
masm hello.asm

输入上述命令后,连续点击三个回车,即默认编译完成。

(5)生成可执行文件
link hello.obj

也是连续点击三个回车,默认生成。

(6)运行
hello.exe

运行成功显示如下:

在这里插入图片描述

这篇关于(ubuntu)DOSBox编写第一个汇编语言程序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/615911

相关文章

SpringBoot实现微信小程序支付功能

《SpringBoot实现微信小程序支付功能》小程序支付功能已成为众多应用的核心需求之一,本文主要介绍了SpringBoot实现微信小程序支付功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作... 目录一、引言二、准备工作(一)微信支付商户平台配置(二)Spring Boot项目搭建(三)配置文件

Ubuntu中远程连接Mysql数据库的详细图文教程

《Ubuntu中远程连接Mysql数据库的详细图文教程》Ubuntu是一个以桌面应用为主的Linux发行版操作系统,这篇文章主要为大家详细介绍了Ubuntu中远程连接Mysql数据库的详细图文教程,有... 目录1、版本2、检查有没有mysql2.1 查询是否安装了Mysql包2.2 查看Mysql版本2.

新特性抢先看! Ubuntu 25.04 Beta 发布:Linux 6.14 内核

《新特性抢先看!Ubuntu25.04Beta发布:Linux6.14内核》Canonical公司近日发布了Ubuntu25.04Beta版,这一版本被赋予了一个活泼的代号——“Plu... Canonical 昨日(3 月 27 日)放出了 Beta 版 Ubuntu 25.04 系统镜像,代号“Pluc

Ubuntu中Nginx虚拟主机设置的项目实践

《Ubuntu中Nginx虚拟主机设置的项目实践》通过配置虚拟主机,可以在同一台服务器上运行多个独立的网站,本文主要介绍了Ubuntu中Nginx虚拟主机设置的项目实践,具有一定的参考价值,感兴趣的可... 目录简介安装 Nginx创建虚拟主机1. 创建网站目录2. 创建默认索引文件3. 配置 Nginx4

如何用java对接微信小程序下单后的发货接口

《如何用java对接微信小程序下单后的发货接口》:本文主要介绍在微信小程序后台实现发货通知的步骤,包括获取Access_token、使用RestTemplate调用发货接口、处理AccessTok... 目录配置参数 调用代码获取Access_token调用发货的接口类注意点总结配置参数 首先需要获取Ac

基于Python开发PDF转Doc格式小程序

《基于Python开发PDF转Doc格式小程序》这篇文章主要为大家详细介绍了如何基于Python开发PDF转Doc格式小程序,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 用python实现PDF转Doc格式小程序以下是一个使用Python实现PDF转DOC格式的GUI程序,采用T

基于.NET编写工具类解决JSON乱码问题

《基于.NET编写工具类解决JSON乱码问题》在开发过程中,我们经常会遇到JSON数据处理的问题,尤其是在数据传输和解析过程中,很容易出现编码错误导致的乱码问题,下面我们就来编写一个.NET工具类来解... 目录问题背景核心原理工具类实现使用示例总结在开发过程中,我们经常会遇到jsON数据处理的问题,尤其是

Ubuntu 22.04 服务器安装部署(nginx+postgresql)

《Ubuntu22.04服务器安装部署(nginx+postgresql)》Ubuntu22.04LTS是迄今为止最好的Ubuntu版本之一,很多linux的应用服务器都是选择的这个版本... 目录是什么让 Ubuntu 22.04 LTS 变得安全?更新了安全包linux 内核改进一、部署环境二、安装系统

将java程序打包成可执行文件的实现方式

《将java程序打包成可执行文件的实现方式》本文介绍了将Java程序打包成可执行文件的三种方法:手动打包(将编译后的代码及JRE运行环境一起打包),使用第三方打包工具(如Launch4j)和JDK自带... 目录1.问题提出2.如何将Java程序打包成可执行文件2.1将编译后的代码及jre运行环境一起打包2

Ubuntu固定虚拟机ip地址的方法教程

《Ubuntu固定虚拟机ip地址的方法教程》本文详细介绍了如何在Ubuntu虚拟机中固定IP地址,包括检查和编辑`/etc/apt/sources.list`文件、更新网络配置文件以及使用Networ... 1、由于虚拟机网络是桥接,所以ip地址会不停地变化,接下来我们就讲述ip如何固定 2、如果apt安