【汇编】2.第一个程序:hello world
前言
在上篇博文 【汇编】1.汇编环境的搭建:DOSBox的安装 中,我们完成了
1.汇编环境模拟器DOSBox的安装。
2.汇编编译相关程序MASM6的下载。
在上篇文章的最后我们提到了挂载DOS程序把 :~\MASM6 文件夹映射到DOSBox环境下的 C: 根目录
接下来的这篇文章将在上一篇文章的基础上完成我们汇编的第一个程序:hello world。
相关操作
1.在 :~\MASM6\ 文件夹内新建一个txt文本文件。
2.在文件内键入如下代码:
DATA SEGMENT
STRING DB 'HELLO,WORLD!$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
MOV DX,OFFSET STRING
MOV AH,9
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END START
3.修改文件名为hello,并修改文件后缀为.asm。
4.打开DOSBox,挂载MASM6,将 :~\MASM6\ 文件夹映射到DOSBox环境下的 C: 根目录
5.进入DOSBox环境下的 C: 根目录:键入`C:`

6.编译我们刚才创建的hello.asm文件:键入`masm hello.asm`,编译成功将会在文件夹下产生.obj文件。
7.连接.obj文件:键入`link hello.obj`,连接成功将会在文件夹下产生.exe文件。在这一步中会让我们输入一些参数,多按几次回车键忽略参数输入即可。
8.运行.exe文件:键入`hello.exe`,此时我们要的 hello world 就输出出来了。

名词解释
;声明'数据段'开始
;数据,可以理解为DB类型数组,数组名是STRING,数组内容是HELLO,WORLD!$,
;$符号后续进行说明.单引号表明数据是以字符类型存入,
;内存中实际存放的是该字符对应的ASCII码.
;声明'数据段'结束
|版权声明:除特别注明外,本博客所有文章均为博主T.P原创,转载请注明出处:https://www.cnblogs.com/tp0829/p/9266253.html
【汇编】2.第一个程序:hello world的更多相关文章
- 起航,第一个程序——还是LED灯
如同学基本语言一样,helloworld是很多语言的第一个程序.在嵌入式开发中,点亮LED灯也是各种架构和开发板的第一个程序,其中很多东西是和单片机例如stm32是类似的,只是,现在我们没有了库函数, ...
- Java第一天,带你走进编程的世界,我的第一个程序
要想彻底了解Java是什么,我就得首先了解编程语言的发展史.编程语言最初的形势是"0101......"数据编程,也就是机器语言.机器语言可以说是一种几乎没有人能够看懂的编程语言, ...
- Android开发-之第一个程序:HelloWorld!
小编觉得不管学习什么编程的时候,第一个程序都是要求打印输出一个"HelloWorld!",那就从最简单的HelloWorld开始吧!哈哈~~~~ 一.创建一个Android工程 1 ...
- [Fluent NHibernate]第一个程序
目录 写在前面 Fluent Nhibernate简介 基本配置 总结 写在前面 在耗时两月,NHibernate系列出炉这篇文章中,很多园友说了Fluent Nhibernate的东东,也激起我的兴 ...
- rails再体验(第一个程序)
掌握redmine plugin开发的目标在2016年未实现,2017年继续. 选择<Ruby on Rails Tutorial>教程,windows安装railsinstaller,该 ...
- OpenGL学习笔记1——第一个程序
学习的参考书基本是按照GL编程指南,如果有消息机制概念,对于GLUT的理解是很自然的.下面就按照自己写的第一个程序详细解释一下GL,还是比较容易上手的. 程序实现的功能是,根据当前随即种子摇出来的结果 ...
- Android 第一个程序 及 环境搭配
一. JDK配置 1.找到jdk安装路径 2.配置环境变量(建议配置在系统变量里面) 1).配置JAVA_HOME变量 2).配置 CLASSPATH 环境变量 CLASSPATH=.;%JAVA_H ...
- unix 网路编程(卷一)第一个程序编译过程
unix卷一去年暑假买的到现在才开始看无比惭愧,而且惭愧第一个程序就断断续续弄了几天,要好好写程序了,马上要找工作了,下面介绍下把本书第一个程序跑起来的过程: 搜各种博客 我用系统的是ubuntu 1 ...
- Hadoop学习历程(三、第一个程序)
根据之前的操作,我们已经可以正常的启动Hadoop了,关于真正的集群我会在之后进行说明.现在我们来看一下第一个程序吧 1. 在eclipse上建立一个java项目 2. 将 /usr/hadoop/s ...
随机推荐
- @codeforces - 1205B@ Shortest Cycle
目录 @description@ @solution@ @accepted code@ @details@ @description@ 给定一个长度为 n 的正整数序列 a1, a2, ..., an ...
- HZOJ 回家
这篇博客大部分在写我的错解……明明很简单的一道题,知道正解后10分钟AC,然而几个错解打的想死…… 错解1 WA40: 鬼知道这40分哪来的……这也是考试最后很无奈地交上去的代码,最后剩20分钟时发现 ...
- 【Android内存机制分析】了解Android堆和栈
昨天用Gallery做了一个图片浏览选择开机画面的功能,当我加载的图片多了就出现OOM问题.以前也出现过这个问题,那时候并没有深究.这次打算好好分析一下Android的内存机制. 因为我以前是做VC+ ...
- Jquery常用方法汇总(转)
https://blog.csdn.net/lucky___star/article/details/87883888
- LightOJ 1269 Consecutive Sum (Trie树)
Jan's LightOJ :: Problem 1269 - Consecutive Sum 题意是,求给定序列的中,子序列最大最小的抑或和. 做法就是用一棵Trie树,记录数的每一位是0还是1.查 ...
- codeforces1217-edu
C The Number Of Good Substrings 我原来的基本思路也是这样,但是写的不够好 注意算前缀和的时候,字符串起始最好从1开始. #include<cstdio> # ...
- Editplus配置java编译运行环境
1.进入配置环境界面 首先,从菜单"工具(Tools)"->"配置用户工具..."进入用户工具设置. 在类别里展开"工具"树形菜单-& ...
- HDU 1850 Nim-Sum思想总结、
算法介绍: Nim游戏是指两个对手在m个堆中轮流随意从某一个堆中拿出n个元素,假定两个对手都是足够聪明,直至最后一次取的人将所有元素取出,此人取得胜利.与之相反的是Misere游戏,相同的游戏规则,但 ...
- 解决vscode电脑卡顿问题
在安装了vscode之后,发现电脑很卡,cpu使用率高达100%. 解决方法1: 打开vscode之后,点击文件==>首选项==>设置搜索设置search.followSymlinks然后 ...
- 2019-4-12-WPF-绑定的默认模式
title author date CreateTime categories WPF 绑定的默认模式 lindexi 2019-04-12 09:38:58 +0800 2019-04-12 09: ...