penEuler操作系统结合豆包测试github仓库8086-Emulator项目

penEuler操作系统结合豆包测试github仓库8086-Emulator项目

8086-Emulator项目:https://github.com/YJDoc2/8086-Emulator

申请空间

首先在华为开发者空间申请一个免费云主机(penEuler操作系统):https://huaweicloud.csdn.net/

豆包提问如何使用

打开豆包:https://www.doubao.com/

选择技能->AI编程->Github仓库,输入:https://github.com/YJDoc2/8086-Emulator,提问词:如何使用这个仓库?,得以下信息。

这个仓库是一个 Intel 8086 模拟器/虚拟机项目,下面从安装、作为依赖使用、命令行使用等方面介绍其使用方法:

安装

由于该项目未发布到 crates.io,可以使用以下命令进行安装:

sh 复制代码
cargo install --git https://github.com/YJDoc2/8086-Emulator.git

安装完成后,名为 emulator_8086 的程序会被安装到 PATH 环境变量包含的目录中,你可以直接运行该程序。

命令行使用

shell 复制代码
USAGE:
emulator_8086 [FLAGS] [file_path]

FLAGS:
-h, --help Prints help information
-i, --interpreted To run in interpreted mode
-V, --version Prints version information

ARGS:
<file_path> Input assembly file path
  • file_path:这是一个必需的参数,指定要运行的汇编文件的路径。
  • 解释模式(-i 标志):启用解释模式后,在每条指令执行前会出现一个用户提示,允许你打印标志位、寄存器和内存信息,可用于调试。
  • 注意 :如果你不想在每个命令后都进行检查,而只是在特定命令前后检查,可以使用 int 3,具体语法在 syntax.md 中说明。
用户提示支持的命令
  • n/next:继续执行指令。
  • q/quit:退出程序。
  • 打印语句 :允许打印标志位、寄存器和内存位置,语法与汇编文件中的打印语句相同,具体在 syntax.md 中说明。

另一种触发用户提示的方法是设置陷阱标志(trap flag),在这种情况下,只要陷阱标志被设置,每条指令执行前都会显示提示。

示例代码

仓库的 examples 目录下包含了多个 8086 汇编程序的示例,你可以使用这些示例来测试和学习。例如,你可以使用以下命令运行一个示例文件:

sh 复制代码
emulator_8086 examples/addition.s

根据提示需要安装cargo,进行下一步搜索

豆包提问Rust 语言的包管理工具安装

豆包继续提问,提示词:linux Rust 安装 cargo,得以下信息。

在 Linux 系统中,Rust 语言的包管理工具 cargo 通常会随着 Rust 一起安装。以下是详细的安装步骤:

1. 使用 rustup 安装 Rust 和 cargo

rustup 是 Rust 的官方版本管理工具,借助它能轻松安装 Rust 和 cargo

安装 rustup

在终端里输入以下命令来下载并运行 rustup 的安装脚本:

bash 复制代码
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

运行上述命令之后,安装脚本会给出一系列提示,你可以选择默认配置,直接按回车键即可。脚本会自动下载并安装 Rust 开发环境,其中就包含 cargo

配置环境变量

安装完成后,你需要重新加载环境变量,或者重新打开终端,这样新的环境变量才能生效。你也可以手动运行以下命令来加载环境变量:

bash 复制代码
source $HOME/.cargo/env

2. 验证安装

安装完成之后,你可以通过以下命令来验证 cargo 是否安装成功:

bash 复制代码
cargo --version

若安装成功,终端会显示 cargo 的版本信息。

其他注意事项

  • 网络问题:由于安装过程中需要从网络下载文件,要是你遇到网络问题,可以考虑使用代理或者选择合适的镜像源。

按照上述步骤操作,你就能在 Linux 系统上成功安装 cargo 了。

在云主机下操作(penEuler操作系统)

penEuler操作系统的Linux命令https://blog.csdn.net/weixin_40220242/article/details/144388125?spm=1011.2415.3001.5331

安装过程

打开终端模拟器分别输入以下命令。

bash 复制代码
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

默认安装按回车键就行

bash 复制代码
source $HOME/.cargo/env
bash 复制代码
cargo --version
sh 复制代码
cargo install --git https://github.com/YJDoc2/8086-Emulator.git
sh 复制代码
emulator_8086 -h

出现以下提示就是安装成功了

shell 复制代码
USAGE:
emulator_8086 [FLAGS] [file_path]

FLAGS:
-h, --help Prints help information
-i, --interpreted To run in interpreted mode
-V, --version Prints version information

ARGS:
<file_path> Input assembly file path

测试过程

打开该目录home/developer/.cargo/git/checkouts/8086-emulator-f903af806e004ebe/dc9f831/examples/

把该目录下的测试文件拷贝到目录home/developer/下

执行命令看测试结果

复制代码
emulator_8086 hello_world.s
复制代码
emulator_8086 addition.s
复制代码
emulator_8086 data_transfer.s

emulator_8086 factorial.s

emulator_8086 interrupt.s
相关推荐
Savvy..1 分钟前
运维面试题
运维
林_学4 分钟前
Docker Desktop 全卸了,新项目上线从3天缩短到3分钟
运维·docker·容器
陈平安Java and C5 分钟前
Docker镜像原理
运维·docker·容器
爱吃山竹的大肚肚5 分钟前
Nginx 最核心和常用的命令
java·运维·服务器·前端·nginx
程序员在线炒粉8元1份顺丰包邮送可乐7 分钟前
Docker 部署PaddleOCR 实战教程(含离线模型、接口调用、排障)
运维·docker·ai·容器
天上飞的粉红小猪8 分钟前
Socket UDP编程
linux·网络协议·udp
aosky22 分钟前
Vercel Labs agent-browser 深度测评:AI时代的浏览器自动化利器
运维·人工智能·自动化·agent-browser
皓月盈江27 分钟前
Linux Debian13安装后更换为国内镜像源,解决执行sudo命令提示用户名不在sudoers文件中问题
linux·服务器·sudo·debian13·debian13更换国内镜像源·用户名不在sudoers文件中
wdfk_prog28 分钟前
[Linux]学习笔记系列 -- [driver][base]class
linux·笔记·学习
龙仔72531 分钟前
ZLMediaKit 日志按日期切割与自动清理方案
运维·服务器·日志切割·自动删除