(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

相关文章

将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安

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

利用Python编写一个简单的聊天机器人

《利用Python编写一个简单的聊天机器人》这篇文章主要为大家详细介绍了如何利用Python编写一个简单的聊天机器人,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 使用 python 编写一个简单的聊天机器人可以从最基础的逻辑开始,然后逐步加入更复杂的功能。这里我们将先实现一个简单的

怎么关闭Ubuntu无人值守升级? Ubuntu禁止自动更新的技巧

《怎么关闭Ubuntu无人值守升级?Ubuntu禁止自动更新的技巧》UbuntuLinux系统禁止自动更新的时候,提示“无人值守升级在关机期间,请不要关闭计算机进程”,该怎么解决这个问题?详细请看... 本教程教你如何处理无人值守的升级,即 Ubuntu linux 的自动系统更新。来源:https://

Ubuntu系统怎么安装Warp? 新一代AI 终端神器安装使用方法

《Ubuntu系统怎么安装Warp?新一代AI终端神器安装使用方法》Warp是一款使用Rust开发的现代化AI终端工具,该怎么再Ubuntu系统中安装使用呢?下面我们就来看看详细教程... Warp Terminal 是一款使用 Rust 开发的现代化「AI 终端」工具。最初它只支持 MACOS,但在 20

使用PyQt5编写一个简单的取色器

《使用PyQt5编写一个简单的取色器》:本文主要介绍PyQt5搭建的一个取色器,一共写了两款应用,一款使用快捷键捕获鼠标附近图像的RGB和16进制颜色编码,一款跟随鼠标刷新图像的RGB和16... 目录取色器1取色器2PyQt5搭建的一个取色器,一共写了两款应用,一款使用快捷键捕获鼠标附近图像的RGB和16

在Ubuntu上部署SpringBoot应用的操作步骤

《在Ubuntu上部署SpringBoot应用的操作步骤》随着云计算和容器化技术的普及,Linux服务器已成为部署Web应用程序的主流平台之一,Java作为一种跨平台的编程语言,具有广泛的应用场景,本... 目录一、部署准备二、安装 Java 环境1. 安装 JDK2. 验证 Java 安装三、安装 mys

如何评价Ubuntu 24.04 LTS? Ubuntu 24.04 LTS新功能亮点和重要变化

《如何评价Ubuntu24.04LTS?Ubuntu24.04LTS新功能亮点和重要变化》Ubuntu24.04LTS即将发布,带来一系列提升用户体验的显著功能,本文深入探讨了该版本的亮... Ubuntu 24.04 LTS,代号 Noble NumBAT,正式发布下载!如果你在使用 Ubuntu 23.

什么是 Ubuntu LTS?Ubuntu LTS和普通版本区别对比

《什么是UbuntuLTS?UbuntuLTS和普通版本区别对比》UbuntuLTS是Ubuntu操作系统的一个特殊版本,旨在提供更长时间的支持和稳定性,与常规的Ubuntu版本相比,LTS版... 如果你正打算安装 Ubuntu 系统,可能会被「LTS 版本」和「普通版本」给搞得一头雾水吧?尤其是对于刚入