汇编语言编程——DOSbox_为什么dosbox的obj文件找不到-程序员宅基地

汇编语言编程——DOSbox

        使用DOSbox编写汇编程序步骤

1.安装DOSbox

在这里插入图片描述
点击Next,
在这里插入图片描述
点击Next,自己选择安装路径最好不要安装在C盘。
在这里插入图片描述
点击Install进行安装。在这里插入图片描述
安装完成,点击Close。
在这里插入图片描述
在桌面就可以找到快捷方式,双击就可以打开程序。

2.编写汇编程序

        推荐大家用Notepad++这个编辑器来编写汇编代码,首先创建一个文本文件命名文件(例如:hello.asm),注意要打开文件的扩展名,把后缀改成XXX.asm文件的形式。然后用Notepad++编辑器打开编写程序并保存。

在这里插入图片描述
在这里插入图片描述
下面是“hello world”的汇编程序代码

;这个是8086的写法
data segment ;这里定义一个数据段
     tab db 'hello world$' ;这里用内存存放字节数据 'hellow world!',$用来判断字符串是否输出完毕
data ends ;数据段的结束标志

code segment ;这里定义了一个代码段
    assume cs:code, ds:data ;这里把程序中定义的段与对应的段寄存器关联起来
    
start: ;这里是一个标号,根据end后面的标号判断这里是程序的开始位置
      mov ax,data
      mov ds,ax ;这里把数据段的地址放到数据段寄存器ds中
      lea dx,tab ;dx中放将要显示数据的偏移地址
      mov ah,9h
      int 21h ;调用21号中断的9号功能来显示字符串
      mov ah,4ch
      int 21h ;程序返回在这里插入图片描述
code ends ;代码段的结束语
    end start ;定义程序从哪个标号处开始执行

3.运行程序

        首先,要在磁盘中(D,E,F盘)创建一个文件夹ASM,把运行程序需要的文件添加进去。要处理汇编文件,masm.exe宏汇编工具,link.exe连接程序,debug.exe调试程序,edit.exe编辑工具。

在这里插入图片描述
然后打开DOSbox软件在这里插入图片描述
输入mount C C:\ASM,挂载带C盘ASM所在的位置,如果你的ASM文件夹在其他盘输入他的位置就可以。
在这里插入图片描述
挂载成功后,输入C:在这里插入图片描述
这样就输入系统命令操作文件,输入命令DIR,可以查看文件夹中的文件。
在这里插入图片描述
输入MASM hello.ASM,打开hello.ASM文件编译,一直按回车,完成编译。
在这里插入图片描述
接下来输入LINK hello.obj命令生成obj执行文件。
在这里插入图片描述
在这里插入图片描述
输入hello.exe,运行文件。
在这里插入图片描述
运行成功,还可以输入debug命令查看程序运行的一些数据
在这里插入图片描述
好了以上就是汇编程序的编写和运行过程。
汇编软件下载和用的文件可以在百度云盘中下载
链接:https://pan.baidu.com/s/10yVJQRxsNrPhQ5BN73MDEQ
提取码:4757
复制这段内容后打开百度网盘手机App,操作更方便哦

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/shiyufei98/article/details/89891037

智能推荐

什么是归一化的平面坐标_ouyangandy的博客-程序员宅基地_归一化坐标-程序员宅基地

什么是归一化的平面坐标_ouyangandy的博客-程序员宅基地_归一化坐标_归一化坐标

小嘿嘿之常见聚类算法之DBSCAN/k-means/BIRCH_birch聚类与k-means的区别-程序员宅基地

DBSCAN(基于密度)2个算法参数:邻域半径R和最少点数目minpoints。{\color{Red}2个算法参数:邻域半径R和最少点数目minpoints。}2个算法参数:邻域半径R和最少点数目minpoints。这两个算法参数实际可以刻画什么叫密集——当邻域半径R内的点的个数大于最少点数目minpoints时,就是密集。3种点的类别:核心点,边界点和噪声点。{\color{Red}3..._birch聚类与k-means的区别

技术站点-程序员宅基地

开发者在线UNIX手册中心Squid中文权威指南MySQL 5.1参考手册酷壳 http://www.ostools.net/apidocs 文档 http://blog.chinaunix.net/uid/23242010.html 核心系统设计文档 曹政王建硕博冠中西余晟乱象,印迹云风编程感悟 车东..._技术站

cnpm使用_使用cnpm-程序员宅基地

有了npm,为什么还要使用cnpm呢?因为npm内的资源都是在国外网站,每次加载资源要慢了很多。cnpm是阿里巴巴的在国内的镜像网站,是已经下载好了的npm资源,用cnpm下载资源就快了很多。当然,用ionic项目除外,用cnpm下载ionic项目有bug。先安装node.js,里面自带npm。去官网下载最新的node.js安装包,按照提示安装。 cnpm的安装 // 全局安装,..._使用cnpm

一个简单的虹膜定位程序_虹膜定位c代码-程序员宅基地

1.虹膜定位程序clear;close all;I=imread('ip1.jpg') % 读取图像 f = rgb2gray(I);imhist(f); % 求图像的直方图 [F_Size_M F_Size_N] = size(f); % 获取f的行和列 T =84; for i = 1:F_Size_M for j = 1:F_Size_N if f(i,j) >= T f(i,j) = 25_虹膜定位c代码

Spring Boot第二弹:Spring Boot热插拔-程序员宅基地

Spring Boot第二弹:Spring Boot热插拔

随便推点

转化-程序员宅基地

字符转数字首先我们在编译之前,先浏览ASCII码,得知’9’的ASCII码为57,‘0’的ASCII码是48,当’9’-'0’时,既为39-30=9.数字转字符首先先定义两个变量,一个整型字符b,一个字符型a,再根据ASCII码列出的运算式,编译运行即可。字符串转数字因为涉及到字符串向数字转换,所以自然想到定义一个字符数组以及一个整型数组,利用一个for循环,再用之前涉及到的字符转换成数字的公式进行转换,将数组里的字符转化成数字再录入到已经定义的整型数组里。数字转字符串与字符串转化成数

python编程从入门到实践,第八章练习题_编写一个名为 display_message() 的函数,它打印一个句子,指出你在本章学的是什么-程序员宅基地

8-1 消息 :编写一个名为display_message() 的函数,它打印一个句子,指出你在本章学的是什么。调用这个函数,确认显示的消息正确无误。def display_message(): print("In this chapter we are going to study the function number call")display_message()8-2..._编写一个名为 display_message() 的函数,它打印一个句子,指出你在本章学的是什么

Debian9 编译 Python 3.7 经验_debian9 no module named '_ctypes-程序员宅基地

想装一个最新版本的Python3,发现只能自己编译。于是suapt-get install build-essential libncurses5-dev libncursesw5-dev libreadline-dev libdb5.3-dev libgdbm-dev libsqlite3-dev libssl-dev libbz2-dev libexpat1-dev liblzma..._debian9 no module named '_ctypes

Vue-Cli4.0 使用UglifyJsPlugin压缩代码_uglifyjsplugin 压缩选项-程序员宅基地

1、安装UglifyJsPlugin:npm install UglifyJsPlugin --save -dev2、在vue.config.js中引入:// 代码压缩const UglifyJsPlugin = require('uglifyjs-webpack-plugin')3、在configureWebpack中配置:configureWebpack: { // 代码压缩 plugins: [ new UglifyJsPlugin({ _uglifyjsplugin 压缩选项

第五章-程序员宅基地

选择题:AAADC1.使用多重 catch 语句时,异常子类一定要位于异常父类之前。应把catch(Exception e)放在最后一个catch块。2.`package Exception;public class Person {private String name="";private int age=0;private String sex=“男”;public void ...

动物园(noi2014)-程序员宅基地

动物园(noi2014)其实是好久之前写的了…Important Background :近日,园长发现动物园中好吃懒做的动物越来越多了。例如企鹅,只会卖萌向游客要吃的。为了整治动物园的不良风气,让动物们凭自己的真才实学向游客要吃的园长决定开设算法班,让动物们学习算法。 某天,园长给动物们讲解KMP算法。Description:对于字符串S的前i个字符构成的子串,既是它的后缀同时又是它的前缀,并且该后缀与该前缀不重叠,将这种字符串的数量记作numinum_inumi​。求∑i=1L(numi+1)