(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编写第一个汇编语言程序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/qq_41584385/article/details/101855795
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/615911

相关文章

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

Python程序的文件头部声明小结

《Python程序的文件头部声明小结》在Python文件的顶部声明编码通常是必须的,尤其是在处理非ASCII字符时,下面就来介绍一下两种头部文件声明,具有一定的参考价值,感兴趣的可以了解一下... 目录一、# coding=utf-8二、#!/usr/bin/env python三、运行Python程序四、

无法启动此程序因为计算机丢失api-ms-win-core-path-l1-1-0.dll修复方案

《无法启动此程序因为计算机丢失api-ms-win-core-path-l1-1-0.dll修复方案》:本文主要介绍了无法启动此程序,详细内容请阅读本文,希望能对你有所帮助... 在计算机使用过程中,我们经常会遇到一些错误提示,其中之一就是"api-ms-win-core-path-l1-1-0.dll丢失

Ubuntu上手动安装Go环境并解决“可执行文件格式错误”问题

《Ubuntu上手动安装Go环境并解决“可执行文件格式错误”问题》:本文主要介绍Ubuntu上手动安装Go环境并解决“可执行文件格式错误”问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未... 目录一、前言二、系统架构检测三、卸载旧版 Go四、下载并安装正确版本五、配置环境变量六、验证安装七、常见

SpringBoot后端实现小程序微信登录功能实现

《SpringBoot后端实现小程序微信登录功能实现》微信小程序登录是开发者通过微信提供的身份验证机制,获取用户唯一标识(openid)和会话密钥(session_key)的过程,这篇文章给大家介绍S... 目录SpringBoot实现微信小程序登录简介SpringBoot后端实现微信登录SpringBoo

uniapp小程序中实现无缝衔接滚动效果代码示例

《uniapp小程序中实现无缝衔接滚动效果代码示例》:本文主要介绍uniapp小程序中实现无缝衔接滚动效果的相关资料,该方法可以实现滚动内容中字的不同的颜色更改,并且可以根据需要进行艺术化更改和自... 组件滚动通知只能实现简单的滚动效果,不能实现滚动内容中的字进行不同颜色的更改,下面实现一个无缝衔接的滚动

ubuntu如何部署Dify以及安装Docker? Dify安装部署指南

《ubuntu如何部署Dify以及安装Docker?Dify安装部署指南》Dify是一个开源的大模型应用开发平台,允许用户快速构建和部署基于大语言模型的应用,ubuntu如何部署Dify呢?详细请... Dify是个不错的开源LLM应用开发平台,提供从 Agent 构建到 AI workflow 编排、RA

ubuntu系统使用官方操作命令升级Dify指南

《ubuntu系统使用官方操作命令升级Dify指南》Dify支持自动化执行、日志记录和结果管理,适用于数据处理、模型训练和部署等场景,今天我们就来看看ubuntu系统中使用官方操作命令升级Dify的方... Dify 是一个基于 docker 的工作流管理工具,旨在简化机器学习和数据科学领域的多步骤工作流。