(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

相关文章

Ubuntu 24.04启用root图形登录的操作流程

《Ubuntu24.04启用root图形登录的操作流程》Ubuntu默认禁用root账户的图形与SSH登录,这是为了安全,但在某些场景你可能需要直接用root登录GNOME桌面,本文以Ubuntu2... 目录一、前言二、准备工作三、设置 root 密码四、启用图形界面 root 登录1. 修改 GDM 配

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

如何在Ubuntu 24.04上部署Zabbix 7.0对服务器进行监控

《如何在Ubuntu24.04上部署Zabbix7.0对服务器进行监控》在Ubuntu24.04上部署Zabbix7.0监控阿里云ECS服务器,需配置MariaDB数据库、开放10050/1005... 目录软硬件信息部署步骤步骤 1:安装并配置mariadb步骤 2:安装Zabbix 7.0 Server

Ubuntu如何分配​​未使用的空间

《Ubuntu如何分配​​未使用的空间》Ubuntu磁盘空间不足,实际未分配空间8.2G因LVM卷组名称格式差异(双破折号误写)导致无法扩展,确认正确卷组名后,使用lvextend和resize2fs... 目录1:原因2:操作3:报错5:解决问题:确认卷组名称​6:再次操作7:验证扩展是否成功8:问题已解

使用Docker构建Python Flask程序的详细教程

《使用Docker构建PythonFlask程序的详细教程》在当今的软件开发领域,容器化技术正变得越来越流行,而Docker无疑是其中的佼佼者,本文我们就来聊聊如何使用Docker构建一个简单的Py... 目录引言一、准备工作二、创建 Flask 应用程序三、创建 dockerfile四、构建 Docker

python编写朋克风格的天气查询程序

《python编写朋克风格的天气查询程序》这篇文章主要为大家详细介绍了一个基于Python的桌面应用程序,使用了tkinter库来创建图形用户界面并通过requests库调用Open-MeteoAPI... 目录工具介绍工具使用说明python脚本内容如何运行脚本工具介绍这个天气查询工具是一个基于 Pyt

Ubuntu设置程序开机自启动的操作步骤

《Ubuntu设置程序开机自启动的操作步骤》在部署程序到边缘端时,我们总希望可以通电即启动我们写好的程序,本篇博客用以记录如何在ubuntu开机执行某条命令或者某个可执行程序,需要的朋友可以参考下... 目录1、概述2、图形界面设置3、设置为Systemd服务1、概述测试环境:Ubuntu22.04 带图

MyBatis编写嵌套子查询的动态SQL实践详解

《MyBatis编写嵌套子查询的动态SQL实践详解》在Java生态中,MyBatis作为一款优秀的ORM框架,广泛应用于数据库操作,本文将深入探讨如何在MyBatis中编写嵌套子查询的动态SQL,并结... 目录一、Myhttp://www.chinasem.cnBATis动态SQL的核心优势1. 灵活性与可

Python程序打包exe,单文件和多文件方式

《Python程序打包exe,单文件和多文件方式》:本文主要介绍Python程序打包exe,单文件和多文件方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录python 脚本打成exe文件安装Pyinstaller准备一个ico图标打包方式一(适用于文件较少的程

Mybatis嵌套子查询动态SQL编写实践

《Mybatis嵌套子查询动态SQL编写实践》:本文主要介绍Mybatis嵌套子查询动态SQL编写方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言一、实体类1、主类2、子类二、Mapper三、XML四、详解总结前言MyBATis的xml文件编写动态SQL