当前位置: 首页 > news >正文

Linux系统下配置王爽汇编语言环境

【步骤一】

先打开命令行,进入root模式,输入如下语句:

sudo apt-get install dosbox

该语句的作用主要是安装dosbox

【步骤二】

安装完成之后,命令行输入dosbox

会进入dosbox页面:

【步骤三】

在你的主机中,解压如下文件:

链接:https://pan.baidu.com/s/1nASVgCjNMLwKhgs3YRs3jA 
提取码:yhlj

然后将解压之后的文件,放到你的Ubuntu系统中,并在你的/home/user目录下,创建一个文件夹,名为masm,将解压之后的文件,全部放入其中:

【步骤四】

再次进入dosbox,输入如下命令:

c:

在输入c:之后,发现并未建立连接,这里需要我们修改dosbox的.conf配置文件:

文件目录在:

【步骤五】

修改配置文件:

这里以我上面的路径为例,每个人的路径不同,只需要替换路径即可:(这里需要vim编辑器)

vim /home/yang/.dosbox/dosbox-0.74-3.conf

【步骤六】

在进入文件之后,在文件末尾添加如下语句:

mount c /home/respecting-god/DOSBox

添加完成之后,保存退出即可。

补充,如果觉得dosbox窗口不够美观,可以调整该配置文件中的如下参数:

#fullresolution=original
fullresolution=1024x768
#windowresolution=original
windowresolution=1024x768
output=opengl
hwscale=2.00

【步骤七】

再次进入dosbox,发现会自动连接到C盘:

【步骤八】

创建一个hello.asm的asm文件

touch hello.asm

将如下语句写入该asm文件:

DATA   SEGMENT                               ;定义数据段
PRINT  DB "Hello World!", 0AH, 0DH, '$'      ;定义一个字符串,以'$'结束
DATA   ENDS                                  ;定义数据段结束STACK  SEGMENT   STACK                       ;定义堆栈段 DW  20  DUP(0)                        ;为堆栈段分配空间
STACK  ENDS                                  ;定义堆栈段结束ASSUME CS:CODE, DS:DATA, SS:STACK            ;告诉编译器将段寄存器与符号对应起来CODE   SEGMENT                               ;定义代码段
START:                                       ;程序入口MOV AX, DATA                         MOV DS, AX                           ;将段地址DATA送入DS中MOV DX, OFFSET  PRINT                ;将字符串地址送人DX中MOV AH, 09HINT 21H                              ;调用INT 21H的9号中断MOV AH, 4CH                          ;返回DOS系统INT 21H
CODE   ENDS                                  ;定义代码段结束
END    START                                 ;程序结束

保存,退出。

【步骤九】

输入如下语句,将.asm文件转换为.obj文件:

masm 文件名.asm
masm hello.asm

此处需要输入三个回车键

【步骤十】

输入如下语句,将.obj文件转换为.exe文件

link hello.obj
link hello.obj

【步骤十一】

运行:

hello.exe

相关文章:

  • SQL注入原理及思路(mysql)
  • 【ChatGPT系列】ChatGPT:创新工具还是失业威胁?
  • 导入Embassy库进行爬虫
  • 上海高考英语科目命题趋势和备考建议,附1990-2023真题解析
  • 网络安全—小白自学
  • 磨人的Ts
  • java中的内存分配
  • mysql用户及权限管理(InsCode AI 创作助手)
  • 通过阿里云创建accessKeyId和accessKeySecret
  • Ubuntu 22.04自动登录进入桌面
  • 人脸识别测试数据分析
  • 软考 系统架构设计师系列知识点之设计模式(4)
  • 用k3s搭建Kubernetes环境
  • SpringMVC原理及核心组件
  • Vue进阶(幺陆玖)项目部署后IE报 SCRIPT1002:语法错误 解决方案探讨
  • 【React系列】如何构建React应用程序
  • 2017 前端面试准备 - 收藏集 - 掘金
  • 2017年终总结、随想
  • emacs初体验
  • javascript面向对象之创建对象
  • JS+CSS实现数字滚动
  • leetcode386. Lexicographical Numbers
  • Linux后台研发超实用命令总结
  • mockjs让前端开发独立于后端
  • mysql innodb 索引使用指南
  • Next.js之基础概念(二)
  • nginx 负载服务器优化
  • Python爬虫--- 1.3 BS4库的解析器
  • 不上全站https的网站你们就等着被恶心死吧
  • 开源中国专访:Chameleon原理首发,其它跨多端统一框架都是假的?
  • 前端面试之CSS3新特性
  • 如何将自己的网站分享到QQ空间,微信,微博等等
  • 思维导图—你不知道的JavaScript中卷
  • 它承受着该等级不该有的简单, leetcode 564 寻找最近的回文数
  • 吴恩达Deep Learning课程练习题参考答案——R语言版
  • 源码之下无秘密 ── 做最好的 Netty 源码分析教程
  • 智能合约开发环境搭建及Hello World合约
  • elasticsearch-head插件安装
  • ionic入门之数据绑定显示-1
  • ​第20课 在Android Native开发中加入新的C++类
  • ​力扣解法汇总946-验证栈序列
  • ​水经微图Web1.5.0版即将上线
  • #设计模式#4.6 Flyweight(享元) 对象结构型模式
  • (06)Hive——正则表达式
  • (Redis使用系列) Springboot 使用Redis+Session实现Session共享 ,简单的单点登录 五
  • (ZT) 理解系统底层的概念是多么重要(by趋势科技邹飞)
  • (附源码)springboot宠物医疗服务网站 毕业设计688413
  • (十五)devops持续集成开发——jenkins流水线构建策略配置及触发器的使用
  • (提供数据集下载)基于大语言模型LangChain与ChatGLM3-6B本地知识库调优:数据集优化、参数调整、Prompt提示词优化实战
  • (转)IOS中获取各种文件的目录路径的方法
  • (转)Linux整合apache和tomcat构建Web服务器
  • (转)Oracle存储过程编写经验和优化措施
  • (转)winform之ListView
  • ..回顾17,展望18
  • .bat批处理(十一):替换字符串中包含百分号%的子串