首页 > 编程语言 >用DOSBOX运行helloworld程序

用DOSBOX运行helloworld程序

时间:2023-05-06 12:32:40浏览次数:59  
标签:exe 文件名 后缀 DSEG 程序 MOV helloworld 编译 DOSBOX


过程:编写---编译---连接---执行

目录

1,编写

2,编译

3,链接

4,执行

5,补充:简捷编译和链接


1,编写

下面是一段打印"hello world!"的程序

DSEG    SEGMENT
MESS    DB   'Hello,World!' ,0DH,0AH,24H
DSEG    ENDS

SSEG    SEGMENT PARA STACK 
        DW  256 DUP(?)
SSEG    ENDS

CSEG    SEGMENT
        ASSUME  CS:CSEG,DS:DSEG
BEGIN:  MOV AX,DSEG
        MOV DS,AX
        MOV DX,OFFSET MESS
        MOV AH,9

        INT 21H
        MOV AH,4CH
        INT 21H
CSEG    ENDS
        END  BEGIN

编写好代码后,把程序保存到masm.exe, link.exe, debug.exe, edit.exe这四个可执行文件的路径下

保存的时候最好保存为.asm文件,不然编译连接时文件名必须要包含扩展名。

2,编译

masm 文件名

#加不加后缀都可以,如果文件后缀不是asm就必须加后缀

然后是一些信息,可以直接按回车跳过

然后,我们得到一个.obj的文件

用DOSBOX运行helloworld程序_文件名

 

3,链接

link 文件名(后缀.obj可选)

用DOSBOX运行helloworld程序_文件名_02

 

同样是一些信息,可以直接按回车跳过

最后,我们得到一个.exe的文件

4,执行

文件名(后缀.exe可选)

用DOSBOX运行helloworld程序_文件名_03

 可以看到执行成功!

5,补充:简捷编译和链接

有一种简捷的编译连接方式(不用回车跳过),就是直接在指令的后面加上分号,如图:

用DOSBOX运行helloworld程序_程序代码_04

 


标签:exe,文件名,后缀,DSEG,程序,MOV,helloworld,编译,DOSBOX
From: https://blog.51cto.com/u_14011026/6249466

相关文章

  • 我在比较时序数据时,程序报错说数据标签有问题
    大家好,我是皮皮。一、前言前几天在Python白银群【黑白人生】问了一个Pandas数据处理的问题,这里拿出来给大家分享下。截图如下图所示:数据截图如下所示:二、实现过程这里【论草莓如何成为冻干莓】给了一个思路,如下所示:看上去还是有点深奥的。后来【瑜亮老师】也指导了一波。顺利的解决......
  • [软件人生]思考:软件的目的是什么,程序员实际在做什么
    推荐一篇文字李航博士的《浅谈我对机器学习的理解》机器学习与自然语言处理http://www.thebigdata.cn/JieJueFangAn/13162.html李航博士的《浅谈我对机器学习的理解》机器学习与自然语言处理此文写得不错,属于入门可以理解的。要知道,我们所做的一切其实最终目标都是拟人化,拟人化的......
  • 程序员面试金典---22
    跳水板代码:/***@param{number}shorter*@param{number}longer*@param{number}k*@return{number[]}*/vardivingBoard=function(shorter,longer,k){if(k===0)return[]if(shorter===longer)return[k*shorter]letres=[]......
  • Python 脚本部署和发布 Django 应用程序的示例代码及注释
    代码说明:1、在脚本中定义了要部署的Django应用程序名称、Docker镜像名称和标签。2、使用字符串模板定义了KubernetesDeployment和Service的YAML文件。在字符串模板中使用了变量,用于替换实际的值。3、将Deployment和Service的YAML文件保存到本地文件中,并使用kube......
  • 我在比较时序数据时,程序报错说数据标签有问题
    大家好,我是皮皮。一、前言前几天在Python白银群【黑白人生】问了一个Pandas数据处理的问题,这里拿出来给大家分享下。截图如下图所示:数据截图如下所示:二、实现过程这里【论草莓如何成为冻干莓】给了一个思路,如下所示:看上去还是有点深奥的。后来【瑜亮老师】也指导了一波......
  • Linux下面让程序保持后台运行
    我们远程登录linux服务器,希望退出终端后,启动的命令仍然在后台运行。首先要说明的是,让程序以daemon方式运行,应该要求更复杂一点,参见https://en.wikipedia.org/wiki/Daemon_(computing)。我们的简单要求,希望退出终端后命令仍然运行,实际上是希望消除终端退出对命令进程的影响。就......
  • 微信小程序-根据同声传译插件创建语音转文字的自定义插件
    使用了vantweapp组件.js//page/common/components/voice/voice.jsimportToastfrom'../../../../vant-weapp/dist/toast/toast';//引入插件:微信同声传译varplugin=requirePlugin("WechatVoice");//获取全局唯一的语音识别管理器recordRecoManagerletmanager=pl......
  • Azure DevOps(三)Azure Pipeline 自动化将程序包上传到 Azure Bolb Storage
    一,引言结合前几篇文章,我们了解到AzurePipeline完美的解决了持续集成,自动编译。同时也兼顾了Sonarqube作为代码扫描工具。接下来另外一个问题出现了,AzureDevOps由于有人员限制,项目上不能给非开发人员或者外包成员开权限,这个时候就需要将编译好的程序包上传到公共网盘或......
  • nrm : 无法将“nrm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称
    一、前言因为觉得npm下载太慢了,可能是镜像不行,需要不断的更换,我嫌找镜像太麻烦了,然后看到网上说使用第三方软件可以快速的修改、切换镜像源于是下载了nrm执行npmi-gnrm进行全局的下载下载完成后,执行命令nrmls报错了二、解决1、执行命令npmlist--depath=0-g查看是否......
  • 微信小程序获取头像、昵称的处理方法
    一、现象根据《小程序用户头像昵称获取规则调整公告》自2022年10月25日24时后(以下统称“生效期”),用户头像昵称获取规则将进行调整 :通过wx.getUserInfo接口获取用户头像将统一返回默认灰色头像,昵称将统一返回“微信用户”官方链接:https://developers.weixin.qq......